109

目前我的网站(生产服务器)已经有很多代码。现在我想开始在我的项目中使用 Git,并为我的团队设置一个登台服务器。任何人都可以给我任何建议吗?

这是我脑海中的画面:

        Production        - Production server which already have codes
            ↑             
         Staging          - New staging server, will install Trac too
         ↗↙ ↖↘          
  Developer1  Developer2  - Local development 

我的问题是,我应该如何开始?

以下是我的一些步骤:

  1. 做一个git init生产服务器(这安全吗?)
  2. clone从生产到登台服务器的回购
  3. 开发clone从暂存到本地机器的 repo
  4. push完成更改后将文件发送到登台服务器
  5. 准备就绪后,push一切都将投入生产

这个工作流程是否有意义,或者有更好的方法来做到这一点?

如果我只想更改一个文件怎么办?

这个过程中origin/master有什么关系吗??谁是起源?我最终会拥有多个来源吗?

另外,在这种情况下,开发人员应该什么时候使用branch

4

2 回答 2

59

最好仅将 master 分支用于生产和开发分支用于暂存。每个开发人员都应创建本地分支以添加新功能,然后与开发分支合并。如果您是 git 新手,请尝试使用 - http://github.com/nvie/gitflow还有描述 git 分支模型的好图片 - http://nvie.com/posts/a-successful-git-分支模型/

于 2010-10-02T04:34:15.853 回答
19

您的建议看起来不错,但我不会让开发人员直接推送到登台服务器。相反,集成商应该仔细审查分支并将它们合并到主分支(如果您使用 bUg 建议的 git 流模型,则将它们合并到开发分支中。) *同一个人将推送到登台服务器。

* Integrator:“一个相当核心的人在一个小组项目中充当集成者,接收其他人所做的更改,审查和集成它们,并将结果发布给其他人使用......


1. 在生产服务器上做一个 git init(这样安全吗?)

是的,它是安全的,但是你当然必须在这个 repo 上设置非常严格的权限。curl如果我还没有它,我可能会先将整个网站下载到本地磁盘。

2. 将 repo 从生产克隆到登台服务器

您可能应该有一个与生产服务器和登台服务器分开的“中央”存储库。可以根据需要克隆和推送那个。

3. 开发人员将仓库从暂存区克隆到他们的本地机器

4.修改完成后推送文件到staging server

5. staging 准备好后,将所有内容推送到生产环境

将“staging”替换为“central”,我认为你没问题,但更大的问题是你将如何处理分支和合并,正如 bUg 指出的那样。

于 2010-10-02T12:08:36.990 回答