【发布时间】:2016-02-18 09:29:44
【问题描述】:
我团队中的一些人在开发过程中使用 git pull 将他们的功能分支与 master 同步。
因此,拉取请求最终会进行多次合并,因此有时很难对拉取请求中的代码进行推理,甚至在查看 gitk 中的历史记录时更加困难。
向他们宣扬使用 git fetch && git rebase 或 git pull --rebase 的优势并没有帮助,所以我想在 Stash 配置面板中设置 一个规则,以防止任何人合并包含合并提交的拉取请求。
是否有一些可用的 Stash 插件可以使它成为可能?
我想通过自动检查来强制执行规则,这样我就不必成为总是抱怨的“那个人”(如果禁用“合并”按钮,执行约定会更容易)。
请注意,我不是唯一拥有合并权限的人,我不想成为看门人。
编辑:
看来this plugin 是我要找的。我需要看看它。
【问题讨论】:
-
手动拒绝拉取请求,并要求他们rebase(或自己做?)。
-
@rubenvb 拒绝不符合要求的 PR 只有当我是唯一拥有合并权限的人时才有可能。我不能为其他人变基,我必须对其他人的叉子有写权限。通过自动化工具检查约定并且禁用“合并”按钮时,执行约定会更容易。 Stash 已经有一些内置功能(禁用“合并”按钮,除非至少有 N 人批准等)。
-
正确,错误(错误),正确和不可能:您确实需要成为看门人,但您可以(在本地)为其他人变基就好了。使用 git commit 钩子可以检查这一点,但这最终取决于 Stash 的工作方式。请注意,禁用合并“按钮”无济于事,因为有人总是可以在本地执行
git merge并推送结果。 -
是的,我可以获取代码,重新设置自己的基础,并直接从我的机器推送,但它没有抓住重点,我不想做其他人的工作:) 关于第二个事情,幸运的是,还没有人决定跳过 pullrequest 阶段并直接推送到上游。
标签: git merge bitbucket-server