【问题标题】:git for development and svn on production server用于开发的 git 和生产服务器上的 svn
【发布时间】:2012-07-30 19:36:01
【问题描述】:
我有一个使用 git 作为控制版本系统的开发网站,客户坚持让我们使用 svn 来部署网站(他们不相信 git 是安装在他们服务器上的稳定工具)所以我'我正在寻找一种使用 git 继续开发的方法,我的开发团队已经比 svn 更了解它,并且只需将发布代码移动到 svn 存储库,以便客户端可以部署在他们的生产服务器上。
由于我的团队会不断更新此网站,因此我不相信手动将代码复制到 svn 存储库并在其上制作包。
我正在寻找一种在 git 上开发的方法,并运行一个特定的命令,它将一个 git 标签(代表网站的一个版本)发送到不同的 svn 存储库,这可能吗?
谢谢。
【问题讨论】:
标签:
git
svn
deployment
integration
【解决方案1】:
您需要使用git-svn。
它允许您在 svn repo 和 git 之间进行操作。在本地使用 git 并提交到 svn。
【解决方案2】:
您可以将SubGit(专为这些目的而创建)安装到您的 SVN 服务器中。之后,它会为 SVN 服务器创建一个纯 Git 接口,因此这两个接口都可以使用。每次推送到 Git 存储库都会转换为 SVN 提交,反之亦然(转换由钩子驱动)。同时推送到 Git 和 SVN 不是问题。
要安装您运行的 SubGit
$ subgit configure path/to/svn/repository
$ #optionally edit path/to/svn/repository/conf/subgit.conf to setup different parameters (like path where to create Git repository) or path/to/svn/repository/conf/authors.txt to setup non-default Git<->SVN authors mapping
$ subgit install path/to/svn/repository
默认情况下,链接的 Git 存储库将出现在 path/to/svn/repository/.git。