我想在我的git存储库中拆分第一个提交,但我不能使用rebase来执行此操作,因为需要父节点.我发现编辑Git中的root提交?对修改第一次提交很有用,但不能拆分它.我该怎么分裂呢?
CB *_*ley 13
您可以在您链接的问题中按照完全相同的过程,但在签出根提交后,您可以使用git commit --amend修改原始提交,然后git commit在继续使用rebase命令之前进行额外提交.
根据您希望如何拆分提交,您可以使用它git rm --cached来删除在初始之前第二次提交时要添加的文件,并在调用之前再次git commit --amend编辑您想要查看的任何文件,git add然后再调用git commit --amend.
在调用之后git commit --amend,为了确保您完全提交原始根提交的状态,您可以调用:
git checkout <sha1-of-original-root> -- .
Run Code Online (Sandbox Code Playgroud)
在调用git commit以进行拆分根提交的第二次提交之前.
小智 5
您可以使用该--root选项来告诉rebase您要重写根/第一次提交:
$ git rebase --interactive --root
Run Code Online (Sandbox Code Playgroud)
然后根提交将显示在 rebase TODO 列表中,您可以选择对其进行编辑:
edit <root commit sha> <original message>
pick <other commit sha> <message>
...
Run Code Online (Sandbox Code Playgroud)
这是--root来自Git rebase 文档的解释:
将所有可从 访问的提交变基
<branch>,而不是使用<upstream>. 这允许您在分支上重新设置根提交。