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

如何为git pull传入--prune-tags参数?执行提示未知选项错误

git pull --prune-tags 报未知选项错误的原因及解决方法

根因说明

Git 2.34 版本中,--prune-tags 是git fetch子命令专属支持的参数,该版本的git pull并未实现对这个参数的透传支持,只要你在git pull命令中传入--prune-tags,不管和其他参数怎么组合、放在什么位置,都会触发unknown option 'prune-tags'报错。
你查阅的文档中关于-p/--prune、--prune-tags的剪枝规则描述,针对的是底层fetch逻辑的行为,并不代表2.34版本的git pull入口已经支持直接传入该参数。
另外你提到的显式指定标签名t1的命令可以正常运行,本质是因为这条命令里根本没有传入--prune-tags这个未知选项,只是显式指定了要拉取的refspec,自然不会触发参数校验错误。

解决方案

根据实际场景二选一即可:

  • 拆分拉取步骤,先执行带剪枝逻辑的fetch,再执行合并:
    # 拉取远程更新,同时剪枝失效的远程分支引用、失效标签
    git fetch -p --prune-tags origin
    # 合并对应远程分支到当前分支,完成常规pull操作
    git pull
    
  • 升级本地Git版本到2.35.0及以上:从Git 2.35版本开始,git pull正式支持透传--prune-tags参数到下层fetch逻辑,升级后就可以直接执行git pull --prune --prune-tags这类组合命令,不会再报参数错误。

补充参数行为说明:
常规-p/--prune只会剪枝远程已删除的分支跟踪引用,不会处理标签:

  • 标签如果是默认自动跟随、或者通过--tags选项拉取的,不会被剪枝
  • 只有通过显式refspec拉取的标签(比如--mirror克隆的仓库、命令行直接指定标签refspec),才会被纳入剪枝范围;--prune-tags本质就是传入对应标签剪枝refspec的简写。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 15:27:17