Github使用GitFlow保护分支

时间:2017-03-07 14:54:13

标签: github git-flow

我有一个存储库,我的开发分支受到保护,我正在使用GitFlow分支模型。有两个分支;开发(包含当前正在开发的功能)和master(最新部署的生产代码)。

我的开发分支阻止通过GitHub的Protected分支直接进行提交。当您使用GitFlow在本地完成修补程序时,它会自动将修补程序分支合并到您的本地主服务器并开发分支。但是,不允许直接在开发分支上推送更改,因为这是受保护的分支

你怎么能克服这个?每当我创建一个修补程序时,我必须:

  1. 手动关闭分支保护
  2. 推动开发分支
  3. 将其重新打开
  4. 这不是自动化的,因此不太可接受。

2 个答案:

答案 0 :(得分:0)

您是GitHub项目的所有者吗?您是否在帐户中设置了管理员角色(或者您是否可以授予管理员访问您帐户的权限)?

在这种情况下,我建议您不要为管理员保护分支机构。通过这种方式,你可以保证其他人不会直接推动发展,但是所有的知识开发人员都会这样做。有管理员权限的人能够。但是,他们应该知道他们在做什么。

您可以在https://github.com/${name}/${repo}/settings/branches/下修改此行为。我的设置看起来像这样(最后一个复选框很重要):

Github Branch protection settings example

注意:也许您也可以使用"限制谁可以推送到这个分支"选项。

答案 1 :(得分:0)

在GitHub上启用“需要拉取请求”。

在本地主机中合并此修补程序后,您可以从中创建修补程序分支,以在源中创建请求请求。您的母带将有所不同,但是您可以重置,隐藏和拉入原点/母带。

git checkout -b hotfix
git push origin hotfix
# merge
git checkout master
git reset origin/master
git stash
git pull --rebase