代码之家  ›  专栏  ›  技术社区  ›  Bialecki

git合并命令

git
  •  4
  • Bialecki  · 技术社区  · 14 年前

    我正在阅读以下文章: http://github.com/guides/keeping-a-git-fork-in-sync-with-the-forked-repo ,其中他们提到通过创建以下别名同时从两个回购中提取更改:

    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"
    

    或者沿着这些线。基本上,我想知道为什么要合并的参数是wycats/master,以及它如何自动知道源站/master。寻找一个快速的解释。

    1 回复  |  直到 11 年前
        1
  •  2
  •   VonC    11 年前

    我不明白为什么章鱼会在这里合并(dos会话中的msysgit1.6.5)。
    章鱼是一只与几只父母合并的章鱼。

    如果我遵循“两次修改远程回购回撤”的惯例,那么在最终合并之前(一轮回撤之后),我看到的是:

    alt text

    chgB (从主要,即“来源”)和 chgA (从远程) mainA “)已在中逐个合并 master .

    还进行了其他两项更改并获取: chgB2 从原点开始 chgA2 迈纳 .

    如果我只想合并 mainA/master ,我的结局是:

    alt text

    CHGA2 已合并。 小精灵 从“主要”(起源)仍然存在…

    但是如果我再换一次 迈纳 ,并在合并命令中指定两个远程回购,然后发生章鱼合并:

    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(-)
    

    alt text