請勿使用git pull
。它只會讓你困惑。好吧,我覺得已經有了!
git pull
所做的就是運行git fetch
(從其他Git獲得新的提交),然後是第二個Git命令。通常的第二個Git命令是git merge
。它看起來像你運行這兩個命令。在這種情況下,您運行了git fetch origin
,然後是git merge origin/master
。
現在可能發生的情況是第二個命令失敗。但既然你不知道git pull
意思是git fetch && git merge
,你所看到的只是這個奇怪的錯誤,它是在抱怨你已經已經合併。現在你想合併別的東西,但是你不能,因爲你還在失敗合併中間。
如果您運行了git fetch origin
,您會看到它的工作。然後你會運行git merge origin/whatever
,看到它失敗,知道你必須完成本次合併,還是中止,或重訂,或者不管它是什麼,你喜歡在這一點上做,然後才能git merge
另一個分支。
的git pull
命令意味着是一個方便,短切做兩個Git命令,因爲一個git fetch
幾乎總是將要遵循與任一git merge
或git rebase
。所以當Git第一次被建造時,他們只提供的用戶前端git pull
,後者使用隱藏後端git fetch
。但事實證明,將兩個步驟分開是非常有用的,這樣你就可以(例如)看到你有什麼fetch
ed。他們使得git fetch
僅僅用於人類(就像其他任何Git命令一樣:-)),以及git pull
只是爲了方便。它是什麼,除非不是,就像現在一樣。
是否存在此後提交提交的規範提交消息? – 1252748
也只是爲了澄清,合併後,我的下一個步驟(如果不是rebasing):'git add。''git commit -m'post pull commit'''git merge my-branch'? – 1252748
規範的消息將包含合併關鍵字(這就是默認的默認提交消息「Merge(...)」所表示的步驟:1.修正合併衝突,2.合併git,3。 git commit -m,4. git push。你不需要'git add',因爲這些文件已經被添加到版本庫。 – syntagma