ehi*_*ime 22 git bash awk grep git-log
嘿伙计们,我现在通过使用下面的内容获取某个提交哈希的提交消息
hash='b55da97'
git log --pretty=oneline ${hash} | grep "${hash}" | awk '{ print $2 }'
Run Code Online (Sandbox Code Playgroud)
这些看起来效率极低,是否有更聪明更便宜的方法,或者我坚持使用grepping和awking?
根据您实际需要的提交消息的数量,您可以使用几种漂亮的格式说明符:
· %s: subject
· %f: sanitized subject line, suitable for a filename
· %b: body
· %B: raw body (unwrapped subject and body)
Run Code Online (Sandbox Code Playgroud)
所以git log -1 --pretty=format:%b <hash>,或者使用其他一个说明符(我认为%s可能更接近你现在正在做的事情).只有一次提交的-1限制git log,而不是走历史树.
我喜欢将重要的内容转储到一行中...这是我使用的内容,它是基于此页面上的其他答案构建的:
IT=$(git log -1 --pretty=format:"%an, %s, %b, %ai" $*)
echo "$IT"
Run Code Online (Sandbox Code Playgroud)
jdoe, WORK1766032 - Added templating engine, WIP, 2013-08-15 14:25:59 +0000
Run Code Online (Sandbox Code Playgroud)