2012-04-04 185 views
5

當我重新綁定到最近的提交時,我犯了一個錯誤。 (我忘記了「先獲取 - 全部」,然後重新分配),並且自從承諾並推送到遠程分支。現在我先通過提取來解決衝突,然後推送到遠程分支,從而正確完成了分配。現在,似乎我最近的所有提交都顯示了兩次。我想要做的是使用git rebase交互模式,選擇我想要的所有提交,然後正確地將其轉換爲提交sha代碼。 這是做到這一點的方式?如果我啓動git rebase -i,我應該使用哪個sha代碼,原始分支點sha代碼?或最近的sha代碼? 謝謝,如何運行git rebase交互模式以刪除重複的提交

大衛

回答

1

我成功地刪除了重複的提交。這是我做的:硬重置到分支點,從原點拉,啓動git rebase -i SHACODE(原始分支點),選擇我想保留的提交,git rebase到當前的SHACODE。

5

給git的變基的數量在時間上犯了。對於10個歷史記錄:

git rebase -i HEAD~10 

然後,只需在顯示的文本編輯器中刪除要刪除的提交的行即可。保存文件並退出將開始重新分配,並且一旦完成重新分配,被刪除的行將不再存在於歷史記錄中。