从SVN迁移到GIT时的外部

时间:2014-04-02 16:28:14

标签: windows git svn git-svn

好的,我已经阅读了所有内容,并试图找到我的问题的解决方案无济于事,所以想知道是否有人能够为我提供移植问题的最终解决方案我有

与在GIT中使用SVN外部件有关,所以请抓住你的椅子。

我查看了以下主题,但发现没有人拥有与我相同的设置。

现在我的设置并不复杂,但我无法找到一种方法让它以我需要的方式运行。我有:

  • PROJECT1
    • 核心
    • 利布斯

然后我进入我的主项目

  • MainProject
    • MainFolder
      • file.cs
      • file1.cs
      • file2.cs
      • 核心(Project1的外部)
    • Libs(Project1的外部)

显然这在SVN上很好,因为你可以使用外部,但是使用子模块,你只能创建它们指向存储库的根目录,在这种情况下,它对我来说不起作用,因为我在同一个存储库中同时拥有Core和Libs。此时移出它们不是一个选项,因为我们仍然处于迁移过程中,我需要不断地同步它们。

然后我想我可以去使用符号链接(注意我在Windows环境中),这样我就可以在与MainProject相同的级别检查我的Project1存储库,并通过符号链接make确定我的项目仍然认为一切都应该在哪里。

然而,在做git status时,我神奇地工作了,我现在注意到Project1被标记为Untracked files,通过提交和推送,再次检出,我的符号链接消失了,我现在有了我的Project1存储库的硬拷贝复制到MainProject。

这显然是一个噩梦,所以我只是想知道是否有人可以帮助我,也许我指向正确的方向。

提前致谢,

马科斯

1 个答案:

答案 0 :(得分:1)

虽然我相信Michael Geddes正致力于在未来的msysgit2中支持符号链接,但现在有一种方法可以获得该支持(您已经提到过)了 “Git Symlinks in Windows

它允许在Windows中结帐时恢复符号链接。

如果您将Project1添加为主项目的子模块:

  • 它不会在untracked files中显示为git status
  • 您可以在MainFolder中添加符号链接到(Project1/)Core,以获得所需的结构。