是否有一个.gitconfig拉取选项来始终获取带注释的标记?

是否有一个.gitconfig拉取选项来始终获取带注释的标记?,git,Git,Git2.4.1引入了push.followTags选项,它将自动推送带注释的标记。也就是说,它使每个git-push…相当于git-push——follow-tags…,这正是我想要的 但我不知道如何在拉的时候得到同样的行为。也就是说,我希望每一个 git pull 相当于: git pull && git fetch --tags 是否有任何选项可以实现这一点?正如我在“”中提到的,因为git 1.9+git-fetch——标记包括git-fetch+标记。 而且,git

Git2.4.1引入了
push.followTags
选项,它将自动推送带注释的标记。也就是说,它使每个
git-push…
相当于
git-push——follow-tags…
,这正是我想要的

但我不知道如何在拉的时候得到同样的行为。也就是说,我希望每一个

git pull
相当于:

git pull && git fetch --tags
是否有任何选项可以实现这一点?

正如我在“”中提到的,因为git 1.9+
git-fetch——标记
包括
git-fetch
+标记。
而且,
git pull——标记也将包括它们

因此,除了通常从远程获取的
git fetch/pull
之外,添加
--tags
是获取标记的最可靠的方法


但是默认情况下,标记不会自动获取,以避免污染本地repo的标记名称空间,特别是使用默认的refspecs
+refs/heads/*:refs/remotes/origin/*
只获取
heads

Hmm,你确定默认情况下不会获取它们吗?奇怪的是,我刚刚读到它们是在发布这篇文章之后,但是我发布了这篇文章,因为我做了一个拉取操作,但没有取到它们,之后我必须手动
获取fetch--tags
。我想知道是否还有其他原因导致了这个问题……也许您已经明确指定了要获取的引用?您能详细说明一下吗?在我的例子中,另一个开发人员创建了一些标签,并推送它们,我拉了他的更改,但他的标签不在那里。经过一次git fetch--tags
之后,它们是。好的,fwiw,我刚刚在一个新的repo上本地再次测试了这个,得到了相同的结果:git pull默认情况下没有抓取带注释的标记。我必须
git-fetch--tags
,所以像
git-pt
这样的别名对于
git-pull--tags
是我最好的选择?@Jonah是的,如果你需要拉标签,建议使用别名。谢谢,关于git的默认行为和你提到的“污染”还有一个问题。如果标签被推送到服务器上,它们通常不是你想要获取的重要公共信息吗?例如,在我的例子中,我们标记发布到生产服务器的提交。有更好的替代方案吗?@Jonah没有,通常是大型repo,比如linux内核或git repo本身,随着时间的推移积累了大量的标签。这些回购协议的用户对所有这些标签都不感兴趣,只对主分支感兴趣。如果他们需要更多,他们可以选择从远程获取更多。因此,
git pull--tags
从所有分支获取标记,而不仅仅是从您正在提取的分支?而
git fetch--tags
将只作用于当前分支?还是我没有领会你的意思?