使用 Git Flow 时如何保持分支同步
How to keep branches in sync when using Git Flow
这是我们目前遵循的工作流程:
- 完成一个功能并将其合并到
develop
分支
- 从 develop
创建一个 release
分支
- 运行 在
release
分支上构建脚本
- 创建拉取请求以将
release
分支合并到 master
- 接受
release
分支拉取请求并合并
- 然后
master
分支可以通过 运行 部署命令部署到实时服务器
这一切都很好,除了在我的 Git 回购中我的分支不同步 master
现在落后于 develop
因为它没有发生的合并提交拉取请求将 release
分支合并到 develop
。但是 master
也领先于 develop
,因为它现在包含来自拉取请求的合并提交,以将 release
分支放入 master
我可以在 Bit Bucket 中单击同步来使所有分支都保持最新状态,但这感觉就像一个奇怪的过程,如果能自动保持分支同步会更好。
或者,它们不同步真的不重要吗?
这是一个link到Git的流程,以防您不熟悉它:http://nvie.com/posts/a-successful-git-branching-model/
谢谢。
当您将发布分支合并到 master 时,您要么也合并 develop 并推送更新的开发分支,要么从 master 创建一个新分支。如果您合并 develop 和 push,那么有权访问 develop 的每个人都将在下次更新时获得更新的 develop 分支。
您的主机和远程主机不同步,因为您没有从远程获取更新。这是你必须做的! :)
添加 nwinkler's 答案以获得更好的可见性作为答案:
You need to merge back into develop after doing the release. In our workflow, I merge the master branch back into develop after the release. That way you get all of the changes from the release merge and you make sure that you can merge everything into master when you do the next release. Looks like that last step is missing from your workflow
如果您得到了想要的,请采纳并关闭!
希望对您有所帮助!
这是我们目前遵循的工作流程:
- 完成一个功能并将其合并到
develop
分支 - 从 develop 创建一个
- 运行 在
release
分支上构建脚本 - 创建拉取请求以将
release
分支合并到master
- 接受
release
分支拉取请求并合并 - 然后
master
分支可以通过 运行 部署命令部署到实时服务器
release
分支
这一切都很好,除了在我的 Git 回购中我的分支不同步 master
现在落后于 develop
因为它没有发生的合并提交拉取请求将 release
分支合并到 develop
。但是 master
也领先于 develop
,因为它现在包含来自拉取请求的合并提交,以将 release
分支放入 master
我可以在 Bit Bucket 中单击同步来使所有分支都保持最新状态,但这感觉就像一个奇怪的过程,如果能自动保持分支同步会更好。
或者,它们不同步真的不重要吗?
这是一个link到Git的流程,以防您不熟悉它:http://nvie.com/posts/a-successful-git-branching-model/
谢谢。
当您将发布分支合并到 master 时,您要么也合并 develop 并推送更新的开发分支,要么从 master 创建一个新分支。如果您合并 develop 和 push,那么有权访问 develop 的每个人都将在下次更新时获得更新的 develop 分支。
您的主机和远程主机不同步,因为您没有从远程获取更新。这是你必须做的! :)
添加 nwinkler's 答案以获得更好的可见性作为答案:
You need to merge back into develop after doing the release. In our workflow, I merge the master branch back into develop after the release. That way you get all of the changes from the release merge and you make sure that you can merge everything into master when you do the next release. Looks like that last step is missing from your workflow
如果您得到了想要的,请采纳并关闭!
希望对您有所帮助!