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

git remote add携带--no-tags参数仍拉取标签的原因是什么?

问题原因

你遇到的现象是git的设计逻辑导致的,不是bug:

  • git remote add的--no-tags参数作用是为新增的远程仓库配置remote.<远程名>.tagOpt = --no-tags,该配置仅对后续执行的fetch/pull操作生效
  • 当你同时搭配--fetch参数时,git remote add会先执行初始拉取操作,再写入--no-tags配置,这次初始拉取不会用到还没写入的配置,所以会把所有标签都拉取下来。

解决办法

方案1:拆分命令避免初始拉取带标签

不要同时使用--fetch和--no-tags,分两步执行即可:

  1. 先添加远程仓库并配置不自动拉取标签
git remote add --no-tags upstream https://github.com/phdru/mimedecode.git
  1. 手动执行拉取操作,此时会自动应用--no-tags配置,不会拉取标签
git fetch upstream

方案2:已经拉取了多余标签的处理

如果已经执行了带--fetch的命令拉了不需要的标签,可以执行以下命令删除本地所有远程标签:

git tag -l | xargs git tag -d

验证配置

你可以执行以下命令确认配置已生效:

git config remote.upstream.tagOpt

如果输出为--no-tags,说明后续所有对该远程仓库的拉取操作都不会自动拉取标签。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:36:00