代码之家  ›  专栏  ›  技术社区  ›  Blixt

Git开发生产工作流如何设置回购?

git
  •  1
  • Blixt  · 技术社区  · 14 年前

    我和其他几个开发人员一起致力于一个相对较小但变化很快的项目(web应用程序)。我们使用Git进行源代码管理。

    我们开始创建一个 稳定的 分支,即部署到实时生产web服务器的分支。这个 分支是为了测试目的而部署到辅助“不稳定”服务器的东西。每当我们觉得 主人 分支已准备就绪,我们将其合并到 .

    然而,我们到了一个点,我们想要一个后者 主人 cherry-pick 把零钱换成 . 这将创建一个新的提交,其更改与中的相同 主人 ,感觉好像我们正在失去Git提供的美好历史。

    有没有更好的方法来处理这种不稳定/稳定的部署模型?

    主人 tag 稳定的 分支机构。

    4 回复  |  直到 14 年前
        1
  •  2
  •   Matt Enright    14 年前

    (注。如果您还没有准备好移植以下一些提交,那么您当然可以使用 git merge <commit-id> 未来的合并也很聪明,不会重复提交/变更集,而不是完全保留历史

    如果您不想要它们,因为它们还没有准备好进行主线测试,或者还没有完全测试,那么是什么让您确信所需的提交(取决于它们和它们的状态)已经准备好了呢?

    当你工作的时候,你需要更多的纪律来考虑你的承诺所带来的影响(因为你已经很早并且经常地承诺了;),但它使分支/合并工作流更加简单- git checkout -b new-feature 你的朋友是不是在主题分支工作的过程中快速添加一个与其他无关的更改的提交(或者 git checkout -b new-feature master 如果你纪律严明,没有额外的变化挂在你的工作树上)。

        2
  •  3
  •   igorette    14 年前

    阅读 http://nvie.com/git-model 使用hxxp://github.com/nvie/gitflow

        3
  •  0
  •   Marc    14 年前

    在git中,只需为您想要做的每种类型的更改创建一个新分支就很容易了。当更改完成后,您可以首先将其与不稳定分支合并(最终合并到稳定分支)。

        4
  •  0
  •   Peter Tillemans    14 年前

    1. 所有的改变/特性/改进都在JIRA中输入
    2. 我们在吉拉创建了一个带有票证名称的分支,例如TKT-1234
    3. 在分支TKT-1234上工作绿色提交到中心(在我们的例子中是github,但不重要)
    4. Hudson(CI服务器)轮询central repo,查看新的分支,在主服务器上合并它们,编译、测试,如果测试通过,则推送到central
    5. 开发商定期从中环撤资

    如果这个循环足够快,几乎没有冲突。所有分支的寿命都相对较短。每个人都离主人很近。

    为了转移到prod,我们在部署验证之后在UAT存储库中手动创建一个分支。