在git中合并两个分支

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (17)

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

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

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

或者我错过了“合并”的方法?

提问于
用户回答回答于

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

扫码关注云+社区