2012-10-01 56 views
2

與其詢問特定的git動詞(git文檔基於哪個動詞),我想問一下這個特定任務的最佳方法。使用質量不佳的提交日誌清理git分支

我有一個醜陋的提交日誌git分支,由於被迫提交測試應用程序。

  • 修正錯字
  • 做X Foo的團隊
  • 更多的清理後重新命名
  • 撤銷X現在富團隊已經改變了主意

幸運的是,所有這些:像提交的地段提交在一個分支。

在我合併該分支之前,我希望有機會清理提交日誌,合併和重新排序提交。什麼是最好的方法來做到這一點?

回答

5

你需要的是一個interactive rebase

git rebase -i master 

您可以編輯郵件,訂貨承諾,壁球或通過該命令跳過其中的一些。

+1

這是完全正確的。確保你保留了對分支原始狀態的引用,不管是通過寫下提交ID還是更容易地檢出一個臨時分支,然後再與主分支進行分支。 'rebase -i'是非常強大的,因此,易於處理。 –

+0

你是對的,這是一個很好的建議。通常在挖掘交互式底圖之前,我通過創建「TEMP」分支來「保存」原始狀態。它避免了我要記住提交的參考(但想法是一樣的,如果事情沒有像你期望的那樣發生,就回到原始狀態)。 – Yanflea

+0

只要檢查'reflog',如果你只想選擇撤銷你的rebase並重試。 – Useless