【问题标题】:How to keep branches in sync when using Git Flow使用 Git Flow 时如何保持分支同步
【发布时间】:2015-04-20 13:58:10
【问题描述】:

这是我们目前遵循的工作流程:

  1. 完成一个功能并将其合并到develop 分支中
  2. 从develop创建一个release分支
  3. release 分支上运行构建脚本
  4. 创建拉取请求以将release 分支合并到master
  5. 接受release 分支拉取请求并合并
  6. master 分支然后可以通过运行 deploy 命令部署到实时服务器

这一切都很好,除了在我的 Git 存储库中,我的分支不同步 master 现在落后于 develop,因为它没有从将 release 分支合并到的拉取请求中发生的合并提交develop。但是master 也领先于develop,因为它现在包含来自拉取请求的合并提交,以将release 分支放入master

我可以在 Bit Bucket 中单击同步以使所有分支保持最新状态,但这感觉像是一个奇怪的过程,并且自动保持分支同步会更好。

或者,它们不同步真的不重要吗?

如果您不熟悉,这里是 Git Flow 流程的链接:http://nvie.com/posts/a-successful-git-branching-model/

谢谢。

【问题讨论】:

  • 发布后需要合并回develop。在我们的工作流程中,我在发布后将 master 分支合并回 develop。这样您就可以从发布合并中获得所有更改,并确保在执行下一个发布时可以将所有内容合并到 master 中。您的工作流程中似乎缺少最后一步。
  • 酷,我猜这就是 Bit Bucket 中同步选项的作用。谢谢

标签: git git-branch git-flow pull-request git-workflow


【解决方案1】:

当您将发布分支合并到主分支时,您要么合并开发并推送更新的开发分支,要么从主分支创建一个新分支。如果你合并开发和推送,那么每个有权访问开发的人都将在下次更新时获得更新的开发分支。

您的 master 和 remotes master 不同步,因为您没有从远程获取更新。这是你必须做的! :)


添加nwinkler's 答案以获得更好的可见性作为答案:
您需要在发布后重新合并到开发中。在我们的工作流程中,我在发布后将主分支合并回开发。这样,您可以从发布合并中获得所有更改,并确保在执行下一个发布时可以将所有内容合并到 master 中。您的工作流程中似乎缺少最后一步

如果你得到了你想要的,请接受并关闭它!

希望对您有所帮助!

【讨论】:

  • 啊,我的描述可能不太清楚。我不担心遥控器与我的本地仓库不同步。我担心远程分支彼此不同步。我想这个过程是 1.git merge release branch 2.git checkout develop 3.git merge master 这有意义吗?
  • 酷!我想这会让每个人都开心! :)
猜你喜欢
  • 1970-01-01
  • 2011-10-27
  • 2013-05-02
  • 2013-11-14
  • 1970-01-01
  • 1970-01-01
  • 2013-05-11
  • 2016-06-19
  • 1970-01-01
相关资源
最近更新 更多