2010-03-13 77 views
4

我讀了下面的文章:http://github.com/guides/keeping-a-git-fork-in-sync-with-the-forked-repo,其中他們提到在本質上的變化,同時通過創建以下別名拉兩個回購協議:Git的合併命令

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,以及它如何自動知道origin/master。尋找一個快速解釋。

+0

最有可能的原文是錯誤的。 'git merge'不會自動知道尋找'origin/master'。據我可以告訴它應該是你的建議,或者原來的最後一個命令應該是'git merge origin/master wycats/master'來將兩個分支的章魚合併到當前分支中。 – 2010-03-13 08:15:53

+0

它也在這裏:http://yuilibrary.com/gallery/developer,這是我最初看到它的地方。 git merge origin/master wycats/master 還能工作嗎?還沒有嘗試過。 – Bialecki 2010-03-13 08:18:19

回答

2

爲什麼章魚合併會發生在這裏(DOS會話中的msysgit1.6.5),我感到不知所措。
章魚與一些父母合併。

如果我遵循的程序「兩項修改到遠程回購拉回來」,這裏是我最後的合併之前看到(一輪拉動後):

alt text

chgB(來自main,即「origin」)和chgA(來自遠程的「mainA」)已在master中逐一合併。

另外兩個變化已經被提出並取出:來自原始的chgB2和來自mainAchgA2

alt text

chgA2已經合併:

如果我儘量只合並mainA/master,我結束了。 chgB2從「主」(源)仍懸在那裏......

但是,如果我嘗試在mainA一次機會,並指定在合併命令兩個遠程回購協議,那麼章魚合併發生:

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