>假设我有一个名为 Root 的项目根目录,它下面有两个目录 Root/A 和 Root/B。我之前用 svn 来管理这个项目,B 是 A 的 svn 分支(使用 svn cp
创建(。现在项目已使用 git svn
迁移到 git,而整个根目录变成了 git 存储库。
我遇到了两个困扰我几天的问题:
- 如何使目录 B 像以前一样继续跟踪 A,这意味着我可以
cd B
和merge
A 的修改? - 另一个问题是,在项目迁移到 git 之前,A 目录仍然有一些 svn 提交没有合并到 B 目录中。我现在应该如何找到这些更改并将它们合并到 B 目录中?
感谢您的建议和帮助!
您可以关注 GitHub 帮助页面"将子文件夹拆分为新存储库"。
- 在第二个存储库中,您将在其自己的分支中拥有
B
文件夹历史记录。 - 在第一个存储库中,您可以:
-
git rm B
- 将
A
文件夹内容移动到/
-
完成后,您可以将新存储库的历史记录提取到现有存储库中:您将拥有旧分支和新分支。
假设您的SVN存储库已准备好导出:例如,请参阅"Subversion:如何找到所有未合并到主干的修订版?"以获取第二个问题。