一种在 GitHub 存储库中自动同步稳定分支和开发分支的方法

kha*_*iuk 5 git version-control merge github

在我们的项目中,当每个人都有一个主存储库的形式并在完成任务时创建拉取请求时,我们使用分叉和拉取模型。当主存储库中只有一个分支时,此工作流程就足够好了,但现在我们必须进行分支。生产代码有“稳定”分支,新功能有“开发”分支。现在我们的工作流程如下所示:

  • 修复错误 -> 应该为稳定版创建拉取请求(我们称之为修补程序)
  • 创建一个功能或修复新功能中的错误 -> 应该为开发创建一个拉取请求(我们称之为功能)
  • 当我们想要发布新版本时,我们将功能合并到稳定版中。

但现在我们有一个问题,当有人创建修补程序时,他应该将此拉取请求合并到稳定分支和开发分支。这不是一个大问题,但是很无聊。

有没有办法自动化同步稳定和开发分支的过程?也许是某种钩子或其他东西?

Nic*_*rdy 2

在我看来,每当拉取请求合并到 时,您都应该手动合并master到,因为将更改合并到 时可能会出现合并冲突。因此,自动执行此操作会更加困难,因为如果存在冲突,您仍然需要手动管理冲突。developmasterdevelop

但是,如果您想自动执行此操作,您可以使用包含以下代码的简单脚本。只需在拉取请求合并到后运行它master

git checkout master
git pull
git checkout develop
git merge master # this step might require manual attention!
git push
git checkout master
Run Code Online (Sandbox Code Playgroud)

如果您想自动执行此操作,以便每当master使用服务器端挂钩推送时都会发生这种情况,请参阅这篇文章。请注意,这仅适用于您可以直接访问的服务器,因此遗憾的是您无法将其与 GitHub 一起使用。