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

时间:2013-10-04 12:12:52

标签: git version-control github merge

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

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

但是现在我们遇到了一个问题,当有人创建一个修补程序时,他应该将这个pull请求合并到stable和develop分支。这不是一个大问题,但很无聊。

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

1 个答案:

答案 0 :(得分:0)

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

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

git checkout master
git pull
git checkout develop
git merge master # this step might require manual attention!
git push
git checkout master

如果您希望自动执行此操作,那么每当master推送到服务器端挂钩时都会发生这种情况,请参阅this article。请注意,这仅适用于您可以直接访问的服务器,因此遗憾的是您不能将其与GitHub一起使用。