我正在创建一些脚本和程序,使用以下命令获取提交信息
git log --pretty=<my format> -1 <commit>
我想知道该命令的输出是否适合由程序(管道)解析或仅适合呈现给人类(瓷器)。例如,在某些项目中,我使用以下命令获取提交 SHA + 作者姓名 + 提交摘要:
git log --pretty="%H%n%an%n%s" -1 HEAD
然后我用换行符分割输出字符串(我在 Linux 上)。
此外,在某些情况下我也会这样做:
git log --pretty='[%h] %an: %s' -1 HEAD
然后使用以下正则表达式解析结果,期望短 SHA、作者姓名和提交摘要位于捕获的组中:
^\[(\w+)\] ([^:]+): (.*)$
这是一个好方法吗?如果不是,以编程方式获取有关提交信息的首选方法是什么?
git log
是一个瓷器命令。
它实际上执行了相当不同数量的任务——结合遍历修订图,git diff
and git grep
等等。
一种管道方式来做类似的事情
git log --pretty='[%h] %an: %s' -1 HEAD
就是结合git show-ref
with git cat-file
并解析结果——类似
git cat-file commit `git show-ref -s HEAD` |
while read line; do
# do some processing
done
实际上是根 Git 的手册页,git(1)
—run git help git
阅读它——包含将命令细分为瓷层和管道层。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)