2011-03-18 55 views
1

後是否有可能對我來說,「git的承諾--amend」 2個提交後,我已經推?我可以追加2混帳提交我推

git commit 
git push 
git commit 
git push 

我可以做一些如何結合我做的兩個提交嗎?

謝謝。

+0

是什麼混帳'append'? – 2011-03-18 18:28:17

+0

需要明確的是,你實際上是在尋找這兩個提交合併成一個單一的承諾,並取代你與一個推了兩下,對吧?這不正是「追加」指給我。 – Cascabel 2011-03-18 18:30:51

回答

4

這個問題的答案取決於它是否是確定你來「力推」你的資料庫 - 換句話說推提交不包含遠程分支作爲歷史的一部分。例如,它肯定確定爲您力推如果以下條件之一適用:如果它只是你使用存儲庫

    • 如果你知道沒有人會紛紛掏出更改
    • 如果可以的話(!他們會知道該怎麼做的事情)告訴你的合作者,你已經推了重寫主分支

    如果是這樣,那麼你可以繼續前進,做到以下幾點:

    # Reset the master branch pointer to the commit before, but leave the index 
    # and your working tree as is: 
    git reset --soft HEAD^ 
    
    # Amend the commit you're now at with the current index: 
    git commit --amend 
    
    # Push the master branch with '-f' for '--force': 
    git push -f master 
    
  • 1

    我相信你的意思是「修正」,而不是「追加」。在任何情況下,雖然的確可以做到你想要什麼,這是一個相當糟糕的主意,去改變歷史(這不修改),一旦你推。