Git 有很多修改历史的程序。
( rebase
, filter-branch
, commit --ammend
, guilt
, stacked git
, 等)
但是,如果有一个程序将最后几个提交转换为包含一系列带有提交元数据的补丁的文件,有时可能会更可取,这些补丁可以自由编辑,然后转回重新设置历史记录(假设补丁仍然应用)。
有没有人有办法做到这一点?
在您的 期间git rebase -i
,将要更改的提交设置为edit
编辑。然后你可以修改它们并重新提交你想要的另一条消息。
您可以尝试git format-patch
and git am
,但这会在每次提交时生成一个文件。
您也可以使用git diff
,但这会将多个提交合并到一个补丁中。
我最终使用了magit,它为我很好地解决了这个问题。