我想分割我的git仓库中的第一次提交,但我不能使用rebase来做到这一点,因为需要父节点。我发现Edit the root commit in Git?对修改第一次提交很有用,但不会将其拆分。我怎样才能分割它?在git中分裂第一次提交
13
A
回答
10
你可以在你已经链接的问题中完全遵循相同的过程,但在签出根提交后,你可以使用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> -- .
之前调用git commit
做出第二承诺分裂根犯。
2
可以使用--root
选项告诉rebase
要重写根/第一承诺:
$ git rebase --interactive --root
然后根承诺将在底垫TODO列表中显示出来,你可以选择要编辑它:
edit <root commit sha> <original message>
pick <other commit sha> <message>
...
这是--root
从the Git rebase docs的解释:
将所有提交从
<branch>
恢复为可用,而不是将其限制为<upstream>
。这允许您重新分支分支上的根提交。
相关问题
- 1. Git:如何克隆第一次提交?
- 2. 第一次提交Git结账
- 3. 我如何git rebase第一次提交?
- 4. 将git commit分裂成几个提交
- 5. Git分裂inital提交到2
- 6. 提交代码在Git中,分支在源头提交一次提交
- 7. Git在第一次提交时删除分支时在远程分支上提交提交
- 8. 在git中一次提交一个
- 9. Git的 - 如何找到第一次提交特定分支
- 10. 在git中查找第一次提交文件
- 11. 如何在git中一次提交一系列提交?
- 12. git rebase一次提交
- 13. 如何在一次提交中提交SVN和GIT?
- 14. 第一次提交时git隐藏在提交前挂钩失败
- 15. 检查提交是否在提交前第一次提交
- 16. git rebase第二次和第三次提交
- 17. 如何跳到git中的第一次提交?
- 18. 是否可以在第一次提交git时指定分支名称?
- 19. Git:提前一次提交头文件
- 20. 用git检出一个项目的第一次提交
- 21. git:哪个远程git分支有最后一次提交?
- 22. ajax表格在第二次提交时提交两次,第三次提交时提交3次等
- 23. 回滚两个提交。重新申请第二次提交。分支和应用第一次提交
- 24. git分支前几次提交?
- 25. Javascript第一次出现时会分裂一次
- 26. 恢复git回购倒数第二次提交,同时抛弃上次提交
- 27. 为什么我的jquery ajax表单在第一次提交时提交一次,在第二次提交时提交两次...?
- 28. 没有第一次/初始提交的Git归档
- 29. 无法创建git的别名第一次提交
- 30. Git - 如何获得给定日期的第一次提交sha1
(重写)你不希望'git reset --hard'在这里。您可以使用'git reset - .',但不会“恢复”工作树,只有索引。可能最好的办法是'git checkout - 。'它将更新索引和工作树,但不更新HEAD(让你准备好提交拆分(原始根)提交的第二部分) 。这里的主要想法是* reset *和* checkout *都会改变HEAD,除非你给它们一个路径参数。 –
2010-09-13 02:25:02
@Chris Johnsen:你绝对正确。我正在考虑两个阶段的重置,然后是“ - 哈德”,但实际上并没有这样写。结帐解决方案更好。 – 2010-09-13 06:48:17