在GIT中合并2个分支

问题描述 投票:93回答:2

我刚刚开始使用GIT并认为它很精彩,但我对merge命令的作用有点困惑。

让我们说我们在分支“A”中有一个工作项目。

我回家对这个分支进行更改并将其保存为“B”。另一个程序员对“A”进行更改并将其保存为“C”。

有没有办法将两个分支“B”和“C”合并在一起,然后将更改作为新分支提交,说“D”?

或者我错过了“合并”的观点?

git merge commit
2个回答
161
投票

merge用于将两个(或更多)分支组合在一起。

一个小例子:

# on branch A:
# create new branch B
$ git checkout -b B
# hack hack
$ git commit -am "commit on branch B"

# create new branch C from A
$ git checkout -b C A
# hack hack
$ git commit -am "commit on branch C"

# go back to branch A
$ git checkout A
# hack hack
$ git commit -am "commit on branch A"

所以现在有三个不同的分支(即A B和C)

将B和C的更改返回到A,结帐A(已在此​​示例中完成),然后使用merge命令:

# create an octopus merge
$ git merge B C

你的历史会看起来像这样:

…-o-o-x-------A
      |\     /|
      | B---/ |
       \     /
        C---/

如果要跨存储库/计算机边界进行合并,请查看git pull命令,例如:从具有分支A的pc(此示例将创建两个新提交):

# pull branch B
$ git pull ssh://host/… B
# pull branch C
$ git pull ssh://host/… C

9
投票

如果您需要将Sub Branch中的更改合并到Main Branch

  1. 你应该在MainBranch # git checkout MainBranch
  2. 然后运行merge命令#git merge SubBranch
© www.soinside.com 2019 - 2024. All rights reserved.