编辑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>限制它们。 这允许您重新分支分支上的根提交

链接地址: http://www.djcxy.com/p/23437.html

上一篇: Edit the root commit in Git?

下一篇: Change first commit of project with Git?