我有兩個提交哈希,並希望列出在這兩個提交哈希之間以phinx-
開頭的所有標記。我該怎麼做?獲取兩個提交之間的所有標記列表
編輯:
這是我想出了。有沒有更好的解決辦法
git log --pretty=format:'%D' 35164f33..49085fbe | grep -o 'tag: phinx-[0-9]*'
我有兩個提交哈希,並希望列出在這兩個提交哈希之間以phinx-
開頭的所有標記。我該怎麼做?獲取兩個提交之間的所有標記列表
編輯:
這是我想出了。有沒有更好的解決辦法
git log --pretty=format:'%D' 35164f33..49085fbe | grep -o 'tag: phinx-[0-9]*'
如果你可以使用comm命令,看看這個解決方案
comm -23 <(git tag -l phinx-* --contains <sha1 start>) <(git tag -l phinx-* --contains <sha1 end>)
快速黑客可能是:
git log --oneline --decorate <sha1>..<sha1>|grep "tag:"| grep "phinx-"
一個實際的解決方案might be more complex,涉及git rev-list
。
謝謝@VonC。快速解決方案也是我的第一個想法。 –
有趣的想法。謝謝。 –
我喜歡這個,因爲這個模式只與標籤名稱匹配,並且只返回標籤名稱,而不是整個日誌行 – Francesco
使用'comm'是我在答案中提出的[VonC在他的答案中鏈接](http: //stackoverflow.com/a/36787860/1256452)。它應該可以正常工作,但請注意提及文檔聲明comm應該排序的聲明。 (幸運的是'git tag -l'默認也是排序!) – torek