【发布时间】:2010-12-22 22:00:47
【问题描述】:
我们在 git 中使用标签作为我们部署过程的一部分。有时,我们希望通过从远程存储库中删除这些标签来清理它们。
这很简单。一个用户在一组命令中删除本地标签和远程标签。我们有一个结合了这两个步骤的小 shell 脚本。
第二个(第三个、第四个、...)用户现在具有不再反映在远程上的本地标签。
我正在寻找一个类似于git remote prune origin 的命令,它可以清理本地跟踪已删除远程分支的分支。
或者,可以使用列出远程标签的简单命令与通过git tag -l 返回的本地标签进行比较。
【问题讨论】:
-
我在 git 中提出了一个新特性来支持修剪过时的标签:thread.gmane.org/gmane.comp.version-control.git/168833
-
注意:使用 Git 2.17(2018 年第二季度),一个简单的
git config fetch.pruneTags true将使您的git fetch做您想做的事!见my answer to this other question。 -
从以下答案之一重新发布评论:至少在 git 2.18.0 中也可以使用以下语法:git fetch --prune --prune-tags origin
-
感谢@zutnop 的评论。对于今天的 git 版本,我几乎会错过正确答案。