【发布时间】:2016-08-18 08:55:04
【问题描述】:
我有一个项目我已经在 Visual Studio 中工作了一段时间,并将我的更改保存在 Git 存储库中。我们称这个项目 A,它有以下提交历史
A0-A1-A2-A3-A4-A5-A6
后来我开始研究另一个项目 B,它位于另一个 Git 存储库中。
B0-B1-B2-B3
在某个时候,我决定这两个项目确实彼此直接相关,我将项目 B 合并到项目 A 存储库中,并将其添加到项目 A Visual Studio 解决方案中。项目 A 存储库现在有两个根提交 A0 和 B0。
A0-A1-A2-A3-A4-A5-A6-M1
/
B0-B1-B2-B3-
在这一点之后,我假设这些项目是一个,并且不会费心将我的工作分成独立的项目 A 和项目 B 分支。大多数提交都与项目 A 或项目 B 相关。虽然,有一些提交我更改为 A 和 B。
A0-A1-A2-A3-A4-A5-A6-M1-AB1-A7-B4-B5-AB2-B6-A8-A9
/
B0-B1-B2-B3-
但现在我决定合并这些项目是错误的,我想将这两个项目的历史拆分回各自的 git 存储库。
A0-A1-A2-A3-A4-A5-A6-A7-A8-A9
B0-B1-B2-B3-B4-B5-B6
这两个项目都是完全私人的项目,只有我一直在从事。因此,重新定位/重新创建所有提交不是问题。我已经阅读了很多关于 SO 和网络上其他地方的帖子,但仍然无法弄清楚最好的方法是将其拆分。
【问题讨论】:
标签: git git-rebase git-rewrite-history git-cherry-pick