2
我的公司正在將CVS轉換爲git。我們已經在CVS很長一段時間,所以有很大的歷史。手工操作太多。大規模的git commit squashing
看着日誌,可以做很多擠壓。很多。我想要做的是鉤住一個腳本,它將比較兩個相鄰的提交。如果它返回true,則連接提交消息並壓縮提交。我也很樂意接受兩個提交和一個提交消息的命令,然後將它們壓縮在一起。
git rebase --interactive與我需要的接近,但「squash」需要太多的手動干預。我也看過使用「fixup」而不是squash,但我不想丟失提交消息。
任何想法?
我可能是錯的,但那仍然不能解決「消息連接」問題。 Autosquash看起來與squash/fixup相同,但是基於提交消息。 – Nycto 2010-06-11 22:23:42
實際上,你可能只需要使用filter-branch,完全忘記了rebase --autosquash。 – dublev 2010-06-11 22:32:25
你對過濾器分支的建議證明是正確的。使用「commit-filter」標誌允許您處理整個回購中的每個提交。在您傳入的回調腳本中,您可以將消息傳遞給commit-tree命令以更改提交消息。您也可以調用skip_commit將當前提交合併到以下提交中。 – Nycto 2010-06-28 15:59:21