2012-11-16 71 views
4

我在一个由其他4个开发人员组成的团队中,我们正在学习GIT并使用gitflow模型和github作为中心回购。到目前为止,我们已经在github上创建了中央存储库,我们可以创建特性,将它们推送到中央仓库,并从那里拉出以获取其他所有更改。Git流与Github部署

所有开发人员都在本地机器上工作,但我们有3个服务器设置 - 开发,分段和生产。

发展是每个人都可以看到彼此变化的地方,一旦我们感到高兴,我们将转移到舞台。这是进行测试的地方,以确保在我们最终使网站在生产环境中正常运行之前,一切都可以正常进行。

该网站目前已完成,我们已经克隆了开发服务器上的存储库,并拉出了所有的网站文件,以便我们可以看到那里的所有更改。但是,我们现在不确定我们应该部署到舞台,还是部署到生产。

  1. 我们是否先在本地创建发布分支并推送到中央回购?
  2. 我们是否在分段和生产服务器上克隆中央回购?
  3. 如果是这样,我们是否从中央回购中退出或者不应该在生产服务器上使用GIT?我已阅读关于使用rsync以及钩子?!

如果有人可以请解释下一步或指向我的某个地方解释它,这将是非常有用的。

感谢

回答

4

我会一个人谁负责部署到不同的服务器,尤其是分期和生产。 通过这种方式创建发布分支时,该分支将部署在登台服务器上。发布分支完成后,将主分支部署到生产服务器。

您可以克隆回购协议分期和生产,只要确保.git目录有适当的安全(htaccess的是你的朋友:)),使非开发人员不能访问该目录。

我会在生产服务器上使用git pull。我已经阅读了rsync和钩子,但只是git对我来说工作得很好。

现在有时当我为客户端工作,不允许在服务器上使用git,我使用ftp。 Github上有一个叫做git-ftp的Pyhton程序,我调整了一点以适应git-flow。我没有把这个版本放在github上,也许我应该。

作为后续行动的第一个评论
谁做他/她的本地机器上的分期和生产的排放会做以下步骤的人:

git flow release start -F 1.0 

做了一些工作,像更新版本号 发布到GitHub上

git flow release publish 1.0 

在临时服务器:

git pull origin release/1.0 

的分期期限结束以后,在本地机器

git flow release finish 1.0 

在生产服务器上

git pull origin master 
+0

感谢彼得。那么,就像在本地或开发服务器上一样,在分段和生产中使用GIT的方式相同,但是从主服务器而不是开发服务器?即git pull origin master –

+0

是的,我就是这样做的,我更新了答案以显示步骤。我可能错过了几个小小的步骤,但这将是要走的路,恕我直言 –

+0

谢谢。当你说更新版本号git流做这个'git流版本发布1.0'的一部分?发布发布版本与本地发布并在本地发布并推送到github之间有什么区别? –