$ git log --oneline --all --graph
* 075bf49 (tag: TagNotOnAnyBranch) some commit
* 08f76af (tag: ValidTag, main) Second commit on main
| * 11d1be8 (HEAD -> feature) Commit on feature
|/
* 94f12ca First commit on main
如果你能跑
$ git tag --no-merged main --no-merged feature
TagNotOnAnyBranch
2条答案
按热度按时间kyks70gy1#
使用
git tag
列出所有标记。测试它们是否可以从一个或多个分支访问。类似于:
mwkjh3gx2#
TL、DR
bash
或类似说明
git tag
的--no-merged [<commit>]
选项显示所有无法从给定提交到达的标记(默认为head)。最妙的是可以多次使用--no-merged
。假设你有这样的情况:
如果你能跑
你会得到正确的结果。但是如果有很多分支,这是累人的。您可以使用分支命令创建所有
--no-merged
参数:如果你使用
bash
或类似的,并把它们放在一起:注意事项:如果分支较多,可能会遇到命令字符长度上限。