我的公司正在从CVS转换到Git。我们已经使用CVS很长时间了,所以有很多历史记录,手动操作太多。
通过查看日志,发现可以做很多压缩操作。我想要的是钩入一个脚本,比较相邻的两个提交。如果返回true,则连接提交消息并压缩提交。我也可以用一个命令接受两个提交和一个提交消息,然后将它们压缩在一起。
git rebase --interactive与我需要的接近,但"squash"需要过多的手动干预。我还尝试使用"fixup"代替squash,但不想失去提交消息。
有什么好的想法吗?
--autosquash怎么样?
你可以与git filter-branch结合使用,编写脚本来重命名提交记录。(但是需要注意,filter-branch需要小心使用,并且要阅读其手册中的警告。它不是一个简单易用的命令。)