Git生产/登台服务器工作流程

时间:2010-10-02 04:18:00

标签: git production staging dev-to-production

目前我的网站(生产服务器)已经有很多代码。 现在我想开始为我的项目使用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从登台到本地计算机的回购
  4. 完成更改后
  5. push个文件到登台服务器
  6. 当分段准备就绪时,push生产的所有内容
  7. 这种工作流程是否有意义,或者有更好的方法可以做到这一点?

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

    origin / master在这个过程中是否与它有关? 谁是起源?我最终会有多个来源吗?

    此外,开发人员何时应该使用branch

2 个答案:

答案 0 :(得分:58)

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

答案 1 :(得分:18)

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

* 集成商:“A fairly central person acting as the integrator in a group project receives changes made by others, reviews and integrates them and publishes the result for others to use...


<强> 1。在生产服务器上执行git init(这样安全吗?)

是的,这是安全的,但您当然必须对此回购设置非常严格的权限。 我可能会从curl将整个网站开始到本地光盘,如果我还没有它的话。

<强> 2。将repo从生产克隆到登台服务器

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

第3。开发人员将存档中的repo克隆到本地计算机

<强> 4。完成更改后将文件推送到登台服务器

<强> 5。当分段准备就绪时,将所有内容推送到生产

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