2013-12-17 153 views
1

我只在項目上工作。我曾在git log 5次提交。我把這些提交合併爲一個推送本地git提交歷史到原始分支

git rebase -i HEAD~5 
pick xxxx commit1 
squash xxxx commit2 
squash xxxx commit3 
squash xxxx commit4 
squash xxxx commit5 

現在我有一個在git log提交。一切都很好。但我有git status之後的下一條消息:

Your branch and 'origin/master' have diverged, 
# and have 1 and 5 different commits each, respectively. 

我要做git pull但在那之後我就重寫我的git log 5再次承諾(我認爲)。

長話短說如何推動本地git將歷史提交到原始分支並擺脫分歧錯誤?

+1

你想壓縮已發佈的提交嗎?然後檢查http://stackoverflow.com/questions/8386996/how-can-i-choose-to-overwrite-remote-repository-with-local-commits – Greg

回答

-1

您需要合併origin/master的

git merge origin/master 
+0

我的歷史提交將再次改寫爲5次提交?我想避免這種情況。 – fortegente

+0

實際上你並沒有更新原點,現在你已經在合併後更新了本地存儲庫,那麼你將能夠進入原點 – moisesvega

+0

這不會做你說的那樣,並且不會幫助OP。這不會更新原點,這首先將五次提交返回給本地主服務器(正是不應該發生的事情),如果您隨後推送,那就沒用了,因爲這是OP希望擺脫的歷史。 – hvd

相關問題