假设我在主分支中,并且我想合并一个名为' branch-A'的分支。
主叫分支是否有任何区别?即做这样的
$ git merge branch-A
或者像这样:
$ git merge branch-A master
如果我反转命令???
$ git merge master branch-A
如果有的话,我认为它应该是简单的。我没有看到差异,但也许有些东西我无法看到。感谢
答案 0 :(得分:3)
git merge branch-A
会将分支A中所做的所有更改合并到当前分支(主)
git merge branch-A master
会将branch-A和master中所做的所有更改合并到当前分支。因为你已经在掌握它应该只合并分支-A
git merge master branch-A
是一样的。将两个分支合并到当前分支,但顺序不同。
换句话说:git merge A B C D
会将分支A,B,C和D合并到当前检出的分支(例如master)。您将分支作为参数传递的顺序是它们合并的顺序。这在冲突处理的情况下可能很有用。
合并目标始终是您之前签出的分支。
答案 1 :(得分:1)
合并两个以上的分支称为八达通合并
通常,您不希望合并当前所在的分支。 所以,我认为您不应该尝试将 主分支 合并到自身。
第一种情况是将 branch-A 合并到当前(主)分支。
对于第二种和第三种情况,当为git merge命令提供两个或多个分支时,它们将按照提供的顺序合并到当前分支中。
例如:
git merge branch-A branch-B
这会将branch-A合并到当前分支中,然后将branch-B
合并这个答案解释了更多关于Octopus合并的内容 Git octopus merge order of multiple branches
您还会发现此文档很有帮助: https://git-scm.com/docs/git-merge
答案 2 :(得分:0)
如果您在master
并且想要将branch-A
合并到master
中,那么最直接的方法就是:
# first make sure you are on master
# (be on the branch you want to merge INTO)
git checkout master
# merge the other branch into master
git merge branch-A
来自doc:
合并来自指定提交的更改 (从他们的时间开始) 历史与当前分支的分歧进入当前分支。