我有一个从master
创建的名为BranchA
的分支。在BranchA
中做了一些更改(但我不想将这些更改合并到master
中)。
现在,我又从master
创建了另一个名为BranchB
的分支。
我该如何将BranchA
中的更改复制到BranchB
中?
我有一个从master
创建的名为BranchA
的分支。在BranchA
中做了一些更改(但我不想将这些更改合并到master
中)。
现在,我又从master
创建了另一个名为BranchB
的分支。
我该如何将BranchA
中的更改复制到BranchB
中?
git checkout BranchB
git merge BranchA
如果您不打算将更改合并回主分支,则以上所有内容都是针对此情况的。通常最好将所有更改合并回主分支,并从那里创建新的分支。
此外,在执行合并命令之后,您将会遇到一些冲突,需要手动进行编辑和修复。
请确保您在要将所有更改复制到的分支中。 git merge
将获取您指定的分支并将其与当前所在的分支合并。
git fetch
,然后git checkout "你的新分支"
也能正常工作。这样你的更改就只会被复制。 - Brooklyn99git checkout YourBranch
git rebase AnotherBranch
YourBranch
取出并将其变基到AnotherBranch
上。YourBranch
是从AnotherBranch
分支出来的,而不是master
。merge
会创建一个新的提交。然而,rebase
将其他分支的提交“整合”到当前分支中。更多信息请参见:https://www.atlassian.com/git/tutorials/merging-vs-rebasing。`rebase`的优点是有助于保持提交历史记录的“清洁”。 - SKPS将BranchA的内容复制到BranchB
git checkout BranchA
git pull origin BranchB
git push -u origin BranchA
git merge BranchA
命令即可。如果您的 git 版本号高于 2.23,您可以使用 git switch
命令来达到相同的效果,因为 git checkout
命令用于很多事情,有时很容易引起混淆。
// This command will switch(go) to BranchB
// use flag -c if you haven't created this branch yet
git switch BranchB
// git merge combines sequences of commits from BranchA to the
// current branch (which is BranchB)
git merge BranchA
BranchB
TortoiseGit --> Fetch
BranchA
,然后点击确定。TortoiseGit --> Push
。