首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >预先接收git钩子以拒绝强制,但允许租借强制推送

预先接收git钩子以拒绝强制,但允许租借强制推送
EN

Stack Overflow用户
提问于 2021-07-22 20:51:23
回答 1查看 40关注 0票数 2

是否可以创建一个服务器端预接收git钩子来拒绝--force推送,但不拒绝--force-with-lease推送

EN

Stack Overflow用户

回答已采纳

发布于 2021-07-23 08:32:24

没有办法做到这一点,因为它们看起来与服务器完全相同。

Git ref更新的工作方式是客户端请求服务器将给定的ref从旧值更新为新值。在服务器端,Git可以判断旧值是否是新值的祖先(常规推送)或不是(强制推送),并采取相应的行动。但是,在这两种情况下,旧的值必须与服务器上的当前值匹配;如果不匹配,ref更新将失败,因为这意味着您已经与其他正在推动的人竞争。

在大多数情况下,当您使用--force进行引用更新时,旧的值是服务器在其引用通告中通告的任何值。--force-with-lease所做的是,它要求Git指定旧值,而不是从服务器已通告的内容,而是从远程跟踪分支或用户指定的值。但是,服务器并不知道用户已经指定了这个选项。它所知道的就是旧值是否匹配(这始终是必需的),以及它是否是新值的父级(在这种情况下是强制推送)。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68485169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档