A公司正在开发软件并正在使用他们自己的SVN
B公司也希望使用相同的软件,但他们只知道如何使用GIT
公司B不想使用公司A的存储库
公司B能否同步公司A的SVN副本 - 但是在GIT中他们也可以使用它吗?
基本上,不是他们共享1个存储库,而是会有2个已同步的存储库
一个在SVN中提交代码,另一个在GIT中查看[反之亦然]
答案 0 :(得分:1)
GitHub has some support for accessing repositories with both Git and Subversion。虽然我没有亲自尝试过,但如果公司A愿意转而使用GitHub,它可能就是您所寻找的。 p>
或者,我猜你可以使用git-svn(tutorial)让B的git
与公司A的svn存储库(副本)对话。 Git-svn与您描述的内容最接近 - 它以git
期望的格式创建Subversion存储库的副本,这意味着所有常规git
命令都可以使用它。
如果您暂时使用Subversion服务器,或者在需要运行Subversion服务器的开发环境中,git svn工具非常有用。但是,您应该认为它会使Git瘫痪,或者您会遇到可能会让您和您的合作者感到困惑的翻译问题。为避免麻烦,请尝试遵循以下准则:
保留一个不包含git merge所做的合并提交的线性Git历史记录。将您在主线分支之外所做的任何工作重新引回到它上面;不要合并。
不要在单独的Git服务器上进行设置和协作。可能有一个加速新开发人员的克隆,但不要推送任何没有git-svn-id条目的东西。您甚至可能希望添加一个预接收挂钩,用于检查git-svn-id的每个提交消息,并拒绝包含没有它的提交的推送。
如果您遵循这些准则,使用Subversion服务器可能更容易忍受。但是,如果可以转移到真正的Git服务器,那么这样做可以让您的团队获得更多。
最后,您可以查看this answer,其中建议使用商业SubGit工具查看与您的反向相似的用例。我也没有SubGit的经验,但是它作为git-svn的更好替代品而上市,值得一试。
实际上,来自不同公司的两个不同的团队同时在两个不同的SCM系统中处理相同的代码库 - 这就是你想要的 - 听起来像是等待发生的灾难。从你的问题来看,我对你的情况知之甚少,不知道哪个更好,但我相信你可以尝试......
无论如何,祝你好运!