【问题标题】:How to have live and Dev git branches working at the same time如何让 live 和 Dev git 分支同时工作
【发布时间】:2016-01-25 08:49:02
【问题描述】:

想知道是否可以阐明 git 工作流程应该如何工作?我 100% 确定我们目前的方法是完全错误的,因为它并没有真正奏效。如果我能解释我们目前的运作方式,如果有人能告诉我我们哪里出了问题,那就太好了。

我们有 2 名开发人员在开发分支上工作,并在开发服务器上进行测试(这要求我们将正在处理的文件通过 ftp 传输到服务器上)。测试并完成更改后,我们将更改复制到生产分支上,这是通过 ftp 传输到实时服务器的。这意味着我们必须跟踪我们所做的每一个更改。值得庆幸的是,Git 非常擅长为我们提供这些信息,但我们并不真正知道我们已经在服务器等上放置了哪些文件。Dev 目前用于修复生产/现场的错误等,但它很快将用于新功能。两个分支因各自的服务器而异。

在开发之初,我们对 git 还比较陌生,但在投入生产时感觉我们已经退了一大步。

总结:

  • 2 名开发人员
  • 2 个分支(开发/生产)
  • Dev 都使用 sourcetree 作为客户端,使用 GitHub 作为远程存储库
  • 两个分支需要协同运行,并且可以轻松推送/更新到各自的服务器

谁能帮帮我?

【问题讨论】:

    标签: git github workflow git-branch sourcetree


    【解决方案1】:

    让我们简单地说:

    Branch dev 已开始初步开发: 完成一项功能/特性的开发后,您可以签出一个分支,例如 sprint1。

    有一个独立的服务器说server1,克隆项目并结帐到sprint1分支并重新启动服务器。

    现在 QA 可以使用 server1 进行测试,而无需进行新的更改。

    开发人员继续在 dev 分支上工作。

    一旦 QA 验证了更改,从 sprint1 签出新的 Production 分支并部署在新服务器上,比如 server2。

    不涉及手动复制或移动文件。

    现在,当新的更改被推送到 Dev 分支时。转到 sprint1 分支并合并 dev 分支。所以现在 sprint1 有最新的代码供 QA 测试。

    验证更改后,签出到生产分支并合并 sprint1 分支。 这种级别的代码推送不应产生问题并使事情变得简单。让我知道解释是否足够清晰。

    请参阅 Git branching and merging 了解其工作原理。

    【讨论】:

      【解决方案2】:

      如果您在您的开发服务器上的开发分支中进行更改,您需要在此分支中提交它们。然后,您将能够将此分支合并到您的生产分支中,并将其放入您的生产服务器中。

      对于新功能,我认为使用分支是个好主意。它们旨在完成这项任务。然后你将它们合并到你的 dev 分支中。

      我建议您阅读这篇文章,其中详细介绍了一个很棒的工作流程:http://nvie.com/posts/a-successful-git-branching-model/

      【讨论】:

        【解决方案3】:

        您无需发明轮子。 使用 git flow
        Here 您可以查看详细描述的精彩演示文稿。

        【讨论】:

          猜你喜欢
          • 2014-12-17
          • 2018-08-25
          • 1970-01-01
          • 2014-04-03
          • 1970-01-01
          • 2020-06-27
          • 2012-03-05
          • 2017-04-18
          • 2021-07-29
          相关资源
          最近更新 更多