将非标准布局svn导入git

时间:2012-05-21 18:46:18

标签: git svn layout import git-svn

我的硬盘上有一个本地的svn repo,其目录结构如下:

[root]
Project1/
Project2/
Project3/
Project4/

你注意到这根本不是标准的SVN布局。

现在我想创建一个新的git repo 导入所有这些项目。除非所有这些项目都在单个文件夹中,否则我不介意目录结构更改。

我安装了TortoiseSVN和TortoiseGit。

我试过以下但是我无法弄清楚这些的内部运作方式,或者我只是太新了。

请帮帮我。

谢谢,

2 个答案:

答案 0 :(得分:1)

我认为你不应该将不同的项目混合到一个Git存储库中。我的建议是为每个项目创建一个Git repo。与SVN相比,Git不允许子树提交和更新。将所有这些项目放到一个存储库中会使git push / pull / merge工作流程变得有点尴尬。

想象一下,您正在处理Project 1.您很乐意添加和提交内容。现在你想要推送到服务器,但你不能因为同事已经推动了对Project 2的修改。这对我来说没有意义。

如果您希望将所有4个项目合并到一个主项目中,您仍然可以创建一个新的Git存储库并将这四个项目添加为submodules

要从一个项目创建Git仓库,您只需git svn clone SVN_REPO。我建议使用git svn show-ignore >>.gitignore将SVN忽略解压缩到gitignores文件。然后创建主项目并使用git submodule add添加项目。

答案 1 :(得分:0)

我无法找到任何可行的解决方案。

我只是将所有内容导出到一个空的git仓库并将其推过去。丢失所有修订历史记录。

无论如何,谢谢大家。我希望有人能够解决这个问题。