将git-svn分支与git存储库同步

时间:2018-12-17 10:06:56

标签: git svn git-svn

我们有一个使用SVN作为版本控制的客户端。我们必须使用他们的存储库,他们不想为我们创建分支,而只想为其部署创建分支,因此我们无法创建小的提交,而在准备好部署功能时只能创建大的提交。

我已经阅读了有关git-svn的信息,我认为这几乎是完美的解决方案。但是,有没有一种方法可以将本地创建的分支与外部存储库进行同步?既可以备份也可以与其他人同步。

我的意思是,您拥有SVN存储库。使用Git克隆它并创建一个分支(本地,在SVN存储库中不允许这样做)。有没有一种方法可以使该分支指向任何新创建的存储库。就像从该分支创建的另一个存储库一样。

我希望我能解释一下。这可能吗?

1 个答案:

答案 0 :(得分:1)

用类似这样的东西克隆了Subversion仓库之后

git svn clone -s $SVN_URL proj-clone

您可以添加一个“真实的” git远程存储库:

cd proj-clone
git remote add team $GIT_URL

您必须选择与通常的origin不同的远程名称,因为git svn使用与refs/remotes/origin/trunk相同的引用(例如git remote)。

之后,您可以像往常一样将其拉/推到git-remote。


如果-另一方面-您只想跟踪一个分支,如下所示:

git svn clone $SVN_URL/trunk proj-clone

然后,git svn不使用命名空间refs/remotes/origin/*,而是使用refs/remotes/git-svn。在这种情况下,您可以使用常用的origin作为远程名称。


在任何情况下:您可以在--prefix=期间使用git svn clone参数进行修改。 (请参见docs)。