5

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

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

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

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

4

1 回答 1

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

如果您想自动执行此操作,以便master在使用服务器端挂钩推送到时发生,请参阅这篇文章。请注意,这仅适用于您可以直接访问的服务器,因此很遗憾您不能在 GitHub 上使用它。

于 2013-11-07T03:32:17.917 回答