迁移到Git时如何处理SVN外部

时间:2017-01-05 11:28:57

标签: git svn git-svn

我目前正在将我们的SVN存储库迁移到git,而且我不确定如何处理SVN外部。

我通常会克隆并将它们添加为git子模块,因为我想跟踪更改并将提交推送到子模块的repo。不幸的是,git默认克隆了整个repo,但我只需要它的子目录。

外部回购看起来与此相似。

external/bar/lib/
external/foo/
external/foo.sln
...

所以我考虑使用sparse-checkout仅将external/bar/lib/目录克隆到我的主项目中,但我不确定如果我仍然可以执行正常的git操作,例如commit,使用稀疏结帐时子模块中的pushpullbranch,或者当我还想在我的主项目中包含external/foo/时如何处理案例。

1 个答案:

答案 0 :(得分:0)

理想情况下,external/的每个相关文件夹应该已经git-svn导出到各自的Git存储库中:

external/bar/lib/ => lib.git
external/foo/ => foo.git

那样,无需担心稀疏签出(这实际上会限制回退提交的能力)