我有一个孤立分支(让我们称之为输出),它包含了由存储在我的主分支上的模板生成的文档。我想 checkout 输出上的提交,它对应于主分支上的一个特定提交。我决定在提交输出时使用git commit --trailer 'Source: xxxxx',其中xxxxx是main上对应的提交。在只知道提交尾部的值的情况下,是否可以在输出上 checkout 提交?
git commit --trailer 'Source: xxxxx'
xxxxx
agxfikkp1#
要查找尾部为Source: xxxxx的提交的sha1值,
Source: xxxxx
git log --pretty=%H --grep='Source: xxxxx'
要在一个步骤中 checkout 提交,
git checkout $(git log --pretty=%H --grep='Source: xxxxx')
xzabzqsa2#
为了确保提交与trailer相匹配(而不仅仅是主题恰好包含Source: xxxxx的提交消息),可以使用“%(trailers[:options])“格式。并使用git switch(not checkout)或git show来只查看内容(不修改当前工作树)
%(trailers[:options])
git switch
checkout
git show
git switch \ $(git log --pretty=format:"%H% (trailers:key=Source,valueonly)"|grep Junio|head -1|cut -d " " -f1)
2exbekwf3#
git show ':/Source: xxxxx'
请参阅git help revisions中有关:/的文档。
git help revisions
:/
3条答案
按热度按时间agxfikkp1#
要查找尾部为
Source: xxxxx
的提交的sha1值,要在一个步骤中 checkout 提交,
xzabzqsa2#
为了确保提交与trailer相匹配(而不仅仅是主题恰好包含
Source: xxxxx
的提交消息),可以使用“%(trailers[:options])
“格式。并使用
git switch
(notcheckout
)或git show
来只查看内容(不修改当前工作树)2exbekwf3#
请参阅
git help revisions
中有关:/
的文档。