Git:你怎么知道谁推了一个标签?

Car*_*loS 10 git

我团队中的一个人将一个无用的标签推送到远程,我在我的本地工作副本中将其删除然后将其推送到远程,标签消失了.

但是在我删除这个标签之前,很多人已经将这个标签拉到了他们的本地工作副本,任何再次推送的人(通过在SourceTree中选择"推送所有标签")将重新创建这些标签.

通过使用git show <tagname>,我只能看到谁第一次创建标签,但我怎样才能找到谁再次推动标签?

Har*_*rev 5

即使你在标签对象中标注了标注器保存的标签,你仍然看不到是谁推送的,除非你在推送的时候把它保存在服务器上。GitHub/GitLab 企业版可能会为您提供这个。

但是,您的根本问题是每个人都需要在其本地计算机上删除该标签,以免将其推回。

如果人们没有仅本地标签,他们可以运行以下命令来删除在远程存储库中找不到的所有本地标签:

# Delete all local tags
git tag -l | xargs git tag -d
# Fetch remote tags
git fetch -t
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助!