相关疑难解决方法(0)

使用Git-Svn克隆非标准Svn存储库

我对Git比较陌生,但我发现在家工作很容易,我想在我们的项目存储在Svn存储库中的工作中使用它.不幸的是,存储库略微不标准,我无法克隆它们.当然,它们都有trunk,branches /和tags /,但是在命中实际项目目录之前,branch /和tags /都有子目录:

trunk/
branches/maintenance/release1
branches/maintenance/release2
...
branches/development/feature1
branches/development/feature2
...
tags/build/build1
tags/build/build2
...
tags/release/release1
tags/release/release2
Run Code Online (Sandbox Code Playgroud)

克隆后:

$ git svn clone -s --prefix=svn/ https://mydomain.com/svnproject
$ git branch -r
  development
  development@1340
  maintenance
  maintenance@1340
  tags/build
  tags/build@1340
  tags/release
  tags/release@1340
  trunk
  trunk@1340 
Run Code Online (Sandbox Code Playgroud)

我没有得到任何实际的项目分支或标签.我实际上需要能够在主干,一个维护分支和一个开发分支上工作.我已经尝试过这种方法,除了修改配置的几个黑客,但没有什么对我有用.

有什么方法可以将我的非标准Svn项目的关键组件放到本地git存储库中,以便我可以轻松地在它们之间移动?

非常感谢.

更新:我应该补充一点,我不能批量切换到Git(尚).还有其他团队成员参与和国际存在.转型的后勤工作比我更愿意承担,直到我对Git更加满意; 正如我所提到的,我还是很新的.我几乎没有触及其功能的表面.

svn git clone git-svn

37
推荐指数
3
解决办法
2万
查看次数

将非标准Subversion存储库转换为git

我有一个存储库,其布局如下:

    trunk/
        projectA
        projectB
    branches/
        projectA-1.0
        projectB-1.0
    tags/
        projectA-1.0.1
        projectB-1.0.1

我想将它们转换为单独的git存储库,其中trunk/projectA作为顶级目录,所有它的分支作为git branches.

每当我尝试指定git svn init类似内容时git svn init -T trunk/projectA -b branches -t tags http://svn.example.com,后续操作git svn fetch就会在不同的版本上神秘地失败.有时它会一直到200,有时会停止.

我目前的想法是,我应该创建一个git存储库,它将整个subversion存储库镜像为一个单独的实体,每个项目都有子目录.然后我会用git-filter-branch子目录重写到项目的根目录.

但是,我不确定如何使分支表现得像我想要使用git-filter-branch和.

另外,理想的做法是为每个项目的"主干"创建一个具有不同分支的单个git仓库,在这种情况下我没有问题没有真正拥有主人.

svn git migrate

3
推荐指数
1
解决办法
1021
查看次数

标签 统计

git ×2

svn ×2

clone ×1

git-svn ×1

migrate ×1