我經常使用「fixup!」,「squash!」和「rebase -i」來清理,糾正,或只是擺弄最近的,沒有記錄的歷史。我想找到一種方法讓Git自動選擇哪種提交對交互式重新定義最有意義,這樣我就可以定義一個別名來執行快速交互式重新分頁。我該如何自動確定最佳承諾以交互重新分配?
我認爲最好的承諾在這種情況下將是最近的祖先之一:
- 出現在任何其他分支機構(本地或遠程)
- 有多個父
- 沒有父母
第一個條件確保我不重寫可能影響他人的提交。第二個確保我不試圖通過合併來重新分配,這絕對不是我想要的。第三隻是一個健全的檢查。
所以問題是,我該如何使用Git查找提交?
好的提示,但我應該注意到這是Git 1.7.6中的新增功能。在1.7.0和1.7.5之間的版本中,你可以用'git rebase -i @ {upstream}'或者'git rebase -i @ {u}'做同樣的事情。 –