Git工作流程/部署

Der*_*sle 6 git deployment installation workflow initialization

我是Git的新手,并试图将我的网站从SVN转移到GIT进行版本控制和部署.

我有一些开发人员将在他们的本地机器上工作,我有3台服务器,'开发','分期'和'生产'.

我一直在阅读书籍和观看Git如何工作的视频所以我认为我现在非常熟悉它,如添加,提交等,但我需要有关工作流程和部署的建议.

我需要知道的第一件事是初始化GIT存储库.它是否需要在'生产'服务器上,然后我在'staging'和'development'上克隆它,每个开发人员还将它克隆到本地机器上?

其次,每个服务器应该拥有自己的分支吗?即"发展"将有一个"发展"分支,"分期"将有一个"分期"分支,"生产"将有一个"生产"分支?

谢谢

kei*_*m23 6

我最近也将我的团队从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
Run Code Online (Sandbox Code Playgroud)

对于工作流程,

这个标题为" 一个成功的Git分支模型 "的链接非常有用.它需要如何为团队使用"生产 - 登台 - 开发 "类型的工作流程.

关于部署:

在每台服务器上,我们所做的是,每台服务器在文件系统上都有一个git repo.要部署,我将需要部署的相应分支存档并将其解压缩到/ srv/www /文件夹中.

例如,在Prod上,要部署主分支,

sudo git archive --format zip --output output.zip master -0
Run Code Online (Sandbox Code Playgroud)

^'master'表示您想要压缩的分支.这不包括.git文件夹.然后在/ srv/www /文件夹中解压缩,sudo unzip output.zip -d /srv/www/app/ 这相当于一个svn export命令.

对于Staging服务器,我们通常会检出一个Release分支Dev分支.

对于Dev服务器,我们检查我们需要执行测试的功能分支.