将Git的初始提交拆分成两个的方法

4
我的代码库有一个分支和许多不同的提交。初始提交包含一些代码。我想创建一个拉取请求到之前的版本,以便查看已添加的所有相关代码。我该如何将一个提交拆分成两个?

4
这可能会有所帮助:https://dev59.com/72025IYBdhLWcg3wGB0n 。 - Abhijeet Kasurde
1个回答

4

您可以按照这个答案中所述的步骤,使用"如何将先前的提交拆分为多个提交",但需要添加--root开关,因为您想要修改分支中的第一个提交。

来自文档

--root
重建所有可从<branch>到达的提交,而不是仅限制它们 与<upstream>。 这允许您在分支上重建根提交(s)。

例如,假设您想要修改master中的初始提交,则应说:

git checkout master
git rebase -i --root

当我尝试这个时,我发现需要在根提交上使用git reset HEAD~,但会出现错误:未知的路径修订版不在工作树中 - gngdb
1
我们发现通过添加虚拟提交并重新排序来实现,然后再删除该虚拟提交。详细信息请参见: https://gist.github.com/gngdb/52db51778d814cc48fd2ec94d7727beb - gngdb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接