我们有两个团队:办公室里的内部团队使用内部svn;外部团队在开放的互联网上使用git,希望协作,但无法访问内部svn。内部团队必须留在svn上,办公室网络不能允许外部访问。
问题:办公室团队如何将他们的svn更改转发到外部团队的git,然后从git返回到svn?
在办公室中,我们非常成功地使用了git,因此所有本地开发都是在git上进行的,并从svn /到svn中提取和提交。但我们不太清楚如何将远程回购链接起来,这样我们就可以进行如下操作:
git checkout gitmaster
git merge svntrunk
git push
git checkout svntrunk
git svn fetch
git merge gitmaster
git svn dcommit发布于 2015-09-04 05:38:32
在过去的两周里,我已经解决并成功地使用了以下内容:
现在,要将svn主干同步到git-主干,我需要:
git svn fetch
git checkout git-trunk
git merge git-svn
git push要将git-主干同步到svn主干,我需要:
git checkout git-trunk
git svn dcommit到目前为止还不错。外部团队在git主干上工作,不担心subversion,内部团队像往常一样处理subversion,不知道一些提交来自git。我只需要记得时不时地同步变化。
现在我意识到创建git-主干分支可能是多余的,可以将git-svn合并为master和dcommit。
发布于 2015-08-20 08:11:18
Git-svn是针对一个拥有git接口到subversion的用户,在git-svn克隆上协作最终将失败(即git-svn在从subversion获取更新时使用reabse,在“推”回subversion时使用当前用户作为作者)。
您可以使用贿赂应用程序(如SubGit、SmartGit或https://github.com/mrts/git-svn-bridge )解决问题。
发布于 2015-08-21 04:07:36
因为您的内部团队可以使用外部的git,所以您可以将它作为邮件开发存储库,并不时将其压缩到svn。这假设您不会有来自svn端的更改,并且出于更多的技术原因(部署/发行版)将保留它。另一方面,如果您无法避免来自svn的更改,那么使用git-svn维护与git-svn的同步可能很快就成为git-svn的一项重大任务,并且您可能希望检查@joran建议的其他选项。
https://stackoverflow.com/questions/32111573
复制相似问题