删除新分叉项目中的所有标签

Deleting all the tags in a new forked project

是否可以用NotePad打开mercurial根目录中的.hgtags文件并删除所有标签,如果你已经fork了一个模板项目?

或者是否有一个命令我可以简单地说删除所有 previous/old 标签?

Is it OK to open the .hgtags file ... and remove all the tags?

可能

.hgtags 的工作方式是 Mercurial 在您的存储库中的所有头部(分支)跟踪它。这样可以智能地传播标签,并且在完成合并时可以合并来自 2 个开发人员的新标签,以便来自两个开发人员的标签都可用。

文件本身是用户可编辑的。例如,它可能有合并冲突,您可以通过手动编辑它来解决。所以编辑它本身是不被禁止的。

但是如果你简单地从中删除,然后从另一个分支合并,删除的标签可能会回来!

所以正确的一般做法是正确删除它们。不过有个捷径...

标准的删除方式是:

hg tag --remove tagname一一...

或者您可以将 tagname 0000000000000000000000000000000000000000 添加到 .hgtags 的末尾。对要删除的每个标签的名称执行此操作。

000... 代码告诉 Mercurial 将其视为已删除。)


所以总而言之 - 如果您确信您永远不会合并任何您希望删除的标签,那么您可以删除 .hgtags.

中的所有标签行

否则,如果您只有几个标签要删除,请使用命令 hg tag remove

如果您有大量标签,手动插入删除代码可能是一种更快的方法。

参考:https://www.mercurial-scm.org/wiki/Tag#How_do_I_remove_a_tag.3F