我正在阅读下面的文章:http://github.com/guides/keeping-a-git-fork-in-sync-with-the-forked-repo,其中提到了通过创建以下别名同时从两个repos中引入更改:
pu = !"git fetch origin -v; git fetch wycats -v; git merge wycats/master"这是有道理的,但是,作为Git的新手,我很好奇为什么命令是这样而不是:
pu = !"git fetch origin -v; git merge origin/master; git fetch wycats -v; git merge wycats/master"或者其他类似的东西。基本上,我想知道为什么合并的参数是wycat/master,以及它是如何自动知道origin/master的。寻找一个快速的解释。
发布于 2010-03-13 23:01:36
我不明白为什么这里会发生octopus合并( DOS会话中的msysgit1.6.5)。
一条章鱼是一条与多条双亲合并的鱼。
如果我遵循“两次修改到远程repo中拉回”的例程,下面是我在最终合并之前所看到的(在一轮拉回之后):

chgB (来自main,即“源”)和chgA (来自远程"mainA")已经在master中被逐个合并。
还进行了另外两个更改并进行了获取:来自原始的chgB2和来自mainA的chgA2。
如果我只尝试合并mainA/master,我最终会得到:

chgA2已被合并。来自"main“(原点)的chgB2仍然挂在那里...
但是,如果我在mainA中再尝试一次更改,并在merge命令中指定两个远程repos,则会发生octopus合并:
C:\Prog\Git\tests\octo\dest1>git merge origin/master mainA/master
Trying simple merge with 9e3e16d8e75cec3be621c47fb72e955cc2574f0f
Trying simple merge with 4dfb282a31d5bafddb244c84b66ede41e28f1042
Merge made by octopus.
a.txt | 2 +-
b.txt | 3 +--
2 files changed, 2 insertions(+), 3 deletions(-)

https://stackoverflow.com/questions/2437409
复制相似问题