有没有办法找出标签是儿童还是父母(不是直接的孩子或父母)?
想象一下以下的git历史:
a467066 - (tag: child-2, master) feature 4
2028351 - (tag: child-1) feature 3
a7a6364 - (HEAD) feature 2
3772445 - (tag: parent-1) feature 1
5a01bfa - (tag: parent-2) initial commit
我的HEAD
位于中间变更集(“功能2”)中,我想知道标记是否是当前变更集的任何子项。因此,对于child-1
和child-2
我需要true
,检查标记parent-1
,parent-2
或任何not-existing
将返回false
答案 0 :(得分:1)
git tag --contains HEAD
它列出了HEAD
git merge-base <tag> <HEAD>
如果它返回HEAD
的提交,则tag
是HEAD
的后代。
git merge-base --is-ancestor <tag> <HEAD>
如果tag
是HEAD
的祖先,则命令的退出状态为0。