编辑Git中的根提交?
有一些方法可以在以后的提交中改变消息:
git commit --amend # for the most recent commit
git rebase --interactive master~2 # but requires *parent*
你怎么能改变第一次提交(没有父代)的提交信息?
假设你有一个干净的工作树,你可以执行以下操作。
# checkout the root commit
git checkout <sha1-of-root>
# amend the commit
git commit --amend
# rebase all the other commits in master onto the amended root
git rebase --onto HEAD HEAD master
从Git 1.7.12版开始,你现在可以使用
git rebase -i --root
为了扩展ecdpalma的答案,现在可以使用--root
选项来告诉你想要重写root / first commit的rebase
:
git rebase --interactive --root
然后,根提交将显示在rebase TODO列表中,并且您可以选择编辑或改写它:
reword <root commit sha> <original message>
pick <other commit sha> <message>
...
这是解释--root
从Git的底垫文档(重点煤矿):
重新规划从<branch>
可访问的所有提交,而不是用<upstream>
限制它们。 这允许您重新分支分支上的根提交 。