区别于:git merge branch vs git merge branch master

时间:2016-03-10 17:50:11

标签: git git-merge branching-and-merging

假设我在主分支中,并且我想合并一个名为' branch-A'的分支。

主叫分支是否有任何区别?即做这样的

$ git merge branch-A

或者像这样:

$ git merge branch-A master

如果我反转命令???

$ git merge master branch-A 

如果有的话,我认为它应该是简单的。我没有看到差异,但也许有些东西我无法看到。感谢

3 个答案:

答案 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

  

合并来自指定提交的更改 (从他们的时间开始)   历史与当前分支的分歧进入当前分支