我最近也将我的团队从 SVN 转移到了 Git,我们有 3 个服务器的相同设置,prod、stg 和 dev..
对于迁移过程,首先sudo apt-get install git-svn
,然后..
$ git svn clone [subversion_repository_url] /path/to/git/repository
$ cd /path/to/git/repository
$ git remote add origin [gir_repo_url]
$ git push origin master
对于工作流,
这个标题为“一个成功的 Git 分支模型”的链接非常有用。它需要如何为团队使用“生产 - 登台 - 开发”类型的工作流程。
关于部署:
在每台服务器上,我们所做的是,每台服务器在文件系统的某个地方都有 git repo。要部署,我将需要部署的相应分支存档并将其解压缩到 /srv/www/ 文件夹中。
例如,在 Prod 上,部署master 分支,
sudo git archive --format zip --output output.zip master -0
^“master”表示您要压缩的分支。这不包括 .git 文件夹。然后解压到/srv/www/文件夹里面,sudo unzip output.zip -d /srv/www/app/
这相当于一个svn export
命令。
对于暂存服务器,我们通常签出Release 分支或Dev 分支之一..
对于开发服务器,我们签出任何一个需要执行测试的任何功能分支。