当当前分支名称具有特定前缀时,如何配置我的git存储库以拒绝所有合并响应?
我想保留我的主分支,以防止来自分支的合并,这些分支是尖峰解决方案,其前缀如'spike _'。
答案 0 :(得分:0)
这里的答案是“否”和“是”,具体取决于您未指定的几项内容。
考虑提交 - 合并和非合并 - 如何到达您的存储库:
git fetch
;和git push
。对于第一种情况,您可以编写位于您和git merge
之间的挂钩或前端命令,但当然您也可以绕过这些命令。
对于第二种情况,您可以做的很少(尽管不是什么都没有):当您使用git fetch
或git remote update
时,您可以推迟远程跟踪分支更新,或者将其回滚来自您的reflog,如果新提交包含这样的合并。这将保护您的存储库,但不会影响您从中获取的存储库。
对于最后一种情况,您可以使用预接收或更新挂钩直接保护您的存储库。在这个钩子中,您将检查对分支标签的建议更改。如果标签具有您想要保护的表单,那么您将扫描在接受更改时将引入的提交。如果其中任何一个是您要拒绝的合并,则可以拒绝特定更新(在更新挂钩中)或整个更新集(在预接收挂钩中)。与fetch
情况一样,这不会影响推送给您的存储库,但如果您和您的协作者使用集中式工作流并且您是中心,这将阻止他们将此类合并引入同行通过您的(中央)存储库。