我通常会提交一份提交列表以供审查。如果我有以下提交:
HEAD (not pushed) Commit1 (not pushed) (Merged master here) Commit2 Commit3 ...
我知道我可以用git commit修改head commit——modify。但是我如何修改Commit1?假设它不是HEAD提交并且不是推送的git rebase不显示在我输入git rebase-I HEAD~3.的列表中。
感谢您的回答,事实上,我想修改的提交消息是merge commit,git rebase命令在rebase HEAD~n命令中不显示合并提交(如果不是推送的话(,这是主要问题。
在我同事的帮助下,我能够通过这个命令解决
git-rebase-i-p HEAD~3
其中-p表示保留合并仍然不能完全理解这是如何工作的,但它完成了任务。
如果您:
- 不想进行综合rebase(git-rebase@~2(
- 不想使用一组命令以非交互方式执行相同的操作
您可以根据旧消息的内容使用git filter-repo
及其回调:
git-filter-repo --message-callback '
if b"known content" in message:
message = "New messagenpossibly onn several lines""
return message'