当原始存储库在Git中时,如何从svn进行部署

Lau*_*ung 7 svn git

我的团队使用Git开发,充分利用了它的许多功能.我们在使用svn的git方面效率更高.

但是我们当前的客户端希望我们从svn存储库部署代码,这意味着我们需要以某种方式定期将代码从git移动到svn.

目前我们正在维护一个既是svn checkout又有一个git repo(包含.git等)的目录,然后我们可以执行git pull; svn提交

当然,这个过程有点复杂,因为我们想使用标签来记录发布点,并且在由git创建的文件上运行svn add会产生开销.

做这个的最好方式是什么?

git-svn会帮助解决这个问题吗?除了允许一个开发人员在使用SVN仓库时在本地使用git工具之外,我从未见过它.我不知道它可以与多个分支机构的多个开发人员一起工作....

dav*_*000 6

如果一个人被认为是SVN所有代码的集成商,并且您知道没有其他人为SVN回购做出贡献,那么您可以让他git-svn用来推动更改:

  1. Integrator使用他master作为svn的跟踪分支(例如git svn clone $ REPO). 他从不在这个分支上工作
  2. 开发人员正常工作(可能是在主题分支上,有一些主线集成分支)
  3. 当您想要发布时,集成商会将所有开发人员代码提取到他的主分支(不是master,但是类似的东西integration)
  4. Integrator会尽一切可能确保发布好
  5. 积分器integration与他合并master
  6. 积分器 git svn dcommit

如果其他人正在为SVN做出贡献,你仍然可以这样做,但是集成商必须定期从SVN撤出并将这些更改提供给开发人员,以避免合并冲突.

无论如何,将代码放入SVN没有太多麻烦是主要问题.您可以在没有本地结账的情况下在SVN中进行标记和分支,这样集成商就可以进行标记(不确定是否git svn会向SVN发送标记)