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

Git推送遭远程拒绝(预接收钩子拦截),强制推送无效求助

Git Push 被远程仓库拒绝(pre-receive hook declined)解决方案

问题原因

远程仓库配置了pre-receive钩子做文件扩展名校验,你的提交里包含了被禁止的.so格式文件:java/gamebase-main/gamebasesdk/src/main/cpp/arm64-v8a/libopencv_java3.so,触发钩子限制导致推送失败。git push --force无效,因为钩子是远程端强制校验环节,强制推送绕不开这个检查。

解决办法

  • 移除违规文件后重新推送

    1. 从本地仓库暂存区移除该文件(保留本地文件不删除):
      git rm --cached java/gamebase-main/gamebasesdk/src/main/cpp/arm64-v8a/libopencv_java3.so
      
    2. 提交移除操作:
      git commit -m "移除被钩子限制的libopencv_java3.so文件"
      
    3. 再次推送分支:
      git push origin dev_likun_release_2
      
  • 配置.gitignore避免后续误提交

    1. 打开项目根目录的.gitignore文件,添加规则(二选一):
      • 忽略所有.so文件:*.so
      • 仅忽略该路径下的.so文件:java/gamebase-main/gamebasesdk/src/main/cpp/arm64-v8a/*.so
    2. 提交.gitignore的修改:
      git add .gitignore && git commit -m "添加规则忽略.so文件"
      
    3. 再次推送分支。
  • 确需提交该文件时联系管理员
    如果业务上必须提交这个.so文件,直接联系仓库管理员,请求修改pre-receive钩子的校验规则,将.so文件加入允许提交的名单。

内容的提问来源于stack exchange,提问作者user21005893

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 22:05:04