带有特定尾部的git checkout 提交

qeeaahzv  于 2022-12-10  发布在  Git
关注(0)|答案(3)|浏览(140)

我有一个孤立分支(让我们称之为输出),它包含了由存储在我的主分支上的模板生成的文档。我想 checkout 输出上的提交,它对应于主分支上的一个特定提交。
我决定在提交输出时使用git commit --trailer 'Source: xxxxx',其中xxxxx是main上对应的提交。
在只知道提交尾部的值的情况下,是否可以在输出上 checkout 提交?

agxfikkp

agxfikkp1#

要查找尾部为Source: xxxxx的提交的sha1值,

git log --pretty=%H --grep='Source: xxxxx'

要在一个步骤中 checkout 提交,

git checkout $(git log --pretty=%H --grep='Source: xxxxx')
xzabzqsa

xzabzqsa2#

为了确保提交与trailer相匹配(而不仅仅是主题恰好包含Source: xxxxx的提交消息),可以使用“%(trailers[:options])“格式。
并使用git switchnot checkout)或git show来只查看内容(不修改当前工作树)

git switch \
$(git log --pretty=format:"%H% (trailers:key=Source,valueonly)"|grep Junio|head -1|cut -d " " -f1)
2exbekwf

2exbekwf3#

git show ':/Source: xxxxx'

请参阅git help revisions中有关:/的文档。

相关问题