You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bitbucket中使用--no-verify推送Git标签仍因他人LFS文件锁触发预接收钩子拒绝的问题求助

Bitbucket中使用--no-verify推送Git标签仍因他人LFS文件锁触发预接收钩子拒绝的问题求助

看起来你碰到了一个特别让人困惑的问题——明明在推送标签时加了--no-verify参数,结果还是被Bitbucket的预接收钩子因为别人锁了无关的LFS文件给拦下来了,换谁遇上都会头疼。

先帮你理清一个关键误区:git push --no-verify这个参数的作用范围仅限本地,它能跳过的是你本地的预提交钩子、提交后钩子,以及本地的预推送钩子,但完全影响不了Bitbucket服务器上运行的预接收钩子。你之前以为加了这个参数就能绕过远程的检查,其实是对这个参数的功能理解有偏差啦。

回到你的场景,错误提示里提到的SANDBOX_proj/Other Test/Test4.txt是别人锁住的文件,而你的发布脚本操作的是另外两个txt文件,按理说不该被关联,但Bitbucket的预接收钩子可能配置了全仓库范围的LFS锁检查——不管你推送的内容有没有涉及被锁文件,只要仓库里存在未释放的LFS锁,就会直接拒绝推送。

给你几个可行的解决思路:

  • 最直接的方式:联系锁住Test4.txt的用户,让他们临时解锁,或者提交并推送他们的修改来释放锁。等锁释放后再执行你的发布脚本,应该就能正常推送了。
  • 如果你有仓库管理员权限:可以去Bitbucket仓库的设置里看看,有没有调整LFS锁检查逻辑的选项——比如是否允许推送不涉及被锁文件的内容,或者是否能临时禁用这个触发预接收钩子的LFS锁检查规则。
  • 再检查下你的脚本逻辑:虽然错误提示里的文件和你操作的无关,但可以确认下你的最终提交是否真的完全没触碰Test4.txt?比如git rm -rf .之后有没有可能残留了什么关联?不过从你的步骤来看,概率很低,但排查一下也没坏处。

总之,核心问题就是--no-verify管不到远程的预接收钩子,你得从远程钩子的LFS锁检查规则入手解决这个问题。

备注:内容来源于stack exchange,提问作者gitrdone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 13:38:01