2012-05-16 517 views
2

不知道更好,我總是用幸福的git pull(不帶參數)來獲得遠程更新。偶然使用沒有參數的`git pull`合併了其他分支

現在我們正在使用分支機構,這已經回來困擾着我。

在做了git pull後,我注意到我的本地主人已經與其他分支合併,而在遠程分支不合並。

我想弄明白這是怎麼發生的,以便我可以避免在未來再做一次,但目前爲止沒有運氣。

我沒有在我的.git/config文件中添加任何奇怪的東西。

回答

0

this answer

簡單的說,「混帳拉」做了「混帳取」接着是「混帳合併」。

未來,只需git fetch而不是git pull

[原文]你所遇到的可能是正確的行爲(和你想要的行爲)。

想象一下這種情況:Developer X在她的分支中完成了一些重要功能。她將它合併回她的主人。

當她推動時,當你拉動時會發生什麼?

當前的解決方案是更新主分支的副本,以便查看並獲取所有工作(功能+合併)。

當您在主分支上開發時,這可能會導致問題。

解決方案是讓每個開發人員始終在分支中工作。要麼爲每個開發人員創建一個分支,要麼爲每個功能/ bug創建一個分支。

這樣,每個開發人員都可以決定何時與主人(您的工作 - >主人)合併以及何時更新您的工作分支以及主人的任何更改。

更多細節:

+0

我應該在OP中說過,遠程沒有合併。分支在那裏分開。合併對我的機器來說似乎是局部的,並且只在「拉」之後出現。 –

+0

啊。編輯.... –

+0

因此,當我做'git pull'時,**應該**將其他分支與當前分支合併在一起?奇怪。我認爲它只會將跟蹤分支與其關聯的遠程分支合併。 –

1

因此,當我做混帳拉,它應該合併其他分支與當前分支?

編號:git pull只會合併當前簽出分支和其遠程跟蹤分支'origin/branch'。
請參閱:

參見 「「Tracking Branches」 And 「Remote-Tracking Branches」」:

git pull


即使你可以聲明幾個遙控器,你不能所有的人都在一步拉(見「pull/push from multiple remote locations」)。