2015-12-30 78 views
18

我從拉我的分支的Git拉問我寫的合併消息

git checkout mybranchSample 
git fetch 
git pull origin master 

然後,混帳給我下面的消息:

請輸入提交信息來解釋爲什麼這合併是必要的,
特別是如果它合併更新的上游到主題分支

輸入提交信息後,它將master合併到我的文件中。即使我沒有處理master中的某些文件,當我輸入git status時,它也會顯示綠色的文件列表。

這個問題是不是與我的同事發生,但我只有。 這背後的原因是什麼?

+8

請不要使用圖片(尤其是嚴重的尺寸之一)向我們展示了一些文字。 –

+0

「以綠色顯示文件」並不多說。它應該標題他們以某種方式(修改,階段等) – max630

+0

您是否試圖將'''master'''''' mybranchSample'''或只是想在'''master'''中更新代碼? –

回答

19

git pull基本上是兩個動作一次:git fetch接着是git merge(除非你使用git pull --rebase,在這種情況下,你能猜到會發生什麼)。

你看到這個的原因是因爲Git不能像大多數時候那樣做一個快進合併。原因通常是因爲你已經將git commit本地綁定到了你想要提取的分支,現在你需要將遠程更改與本地更改合併。

還值得一提的是,Git爲你預先填充了合併信息,所以你並不需要輸入任何內容。只需保存並退出,並且合併應該完成。 (當然,除非有合併衝突)。

+0

我的主要問題是'我需要擔心嗎?如果我仍然看到窗口並輸入一些信息,是否會發生任何錯誤? –

+0

@PratikCJoshi不,你沒有什麼可擔心的。 –

+0

@MadaraUchiha任何想法,爲什麼只有我得到的錯誤,雖然所有的人都在混帳配置文件'主機gitserver 用戶的git 主機名91.12.12.12 端口22 IdentityFile的〜/ .ssh/pratikj'同樣的內容? –

3

如果您試圖合併mastermybranchSample分支,那麼這是非常正常的。

Git的合併mastermybranchSample(當你從mybranchSample分支取得git pull origin master)和commits你合併改變(除非有任何衝突),併爲您提供了預填充的消息。您可以保存並退出。

如果你只是試圖從遠程master分支獲取最新的代碼與當地master分支合併,那麼你應該結帳出來master,然後從master拉。

從您陳述

它結合了主文件到我的文件。即使我還沒有處理過一些來自master的文件,當我輸入git狀態時,它會以Green顯示文件列表。

我認爲你正在嘗試做第二個。

,請嘗試:

git checkout master 
git pull origin master 
17

Linus Torvalds的最好的解釋是:

傳播關於即將到來的 '混帳' UI變化的話,因爲我 很大責任。

這一變化有望使得人們寫來合併消息解釋 他們的合併,甚至可能決定完全不合並時,它不是必要 。

我一直在使用過去的幾個星期了Git功能現在,它 導致我的合併從具有 各種票據submaintainers他們(當然,至少如果submainter給我任何)。所以我想以 爲榜樣。

但是,如果你不喜歡你的解釋合併,這可能是惱人。 當然,如果你不解釋你的合併,你很煩人,所以它最終都會出現。 「業力平衡」,可以這麼說。

來源:https://plus.google.com/+LinusTorvalds/posts/SrePhcj6XJe

2

的原因,這只是發生在你身上是不是你的配置是不同的,但你歸併的分支是不同的。

原因在於你沒有改變DIFF文件是合併後,新犯有家長承諾:本承諾你做了最後一次和最新提交的高手。新提交包含所有更改/文件。所以,如果你從diff的新上次提交,你會看到所有的文件,改變/添加了更改的/加在主,而你的分支出去與主分支同步的。

3

我覺得你有與分支的一個問題... 2.可能的情況我能想象你面對:

1) 你有一個遠程分支,mybranchSample,你就可以想工作 - 你現在沒有任何事情需要與主分支(也就是說,你不想將你的分支合併到主分支中,反之亦然)。你在你的問題

說,當我從我的分支後拉取像...

但是你做的是git pull origin master,從拉。相反,你應該能夠使用Git版本> = 1.6.6,結賬使用

git fetch 
git checkout mybranchSample 

2)您嘗試進行mybranchSample工作,但希望有來自主分支的最新代碼的遠程分支那裏。那麼合併可能是必要的,正如Anand S所說。