我有一个commit c,我想要得到这个commit c +元信息的变更集,而不是其他的。有没有比git log -p c^..c更简单的方法来做到这一点?
git log -p c^..c
git log -p c -1就是这样做的。
git log -p c -1
你可以使用show:
show
git show commit_id
Michal Trybus的回答最简单明了。但如果你不想在输出中出现差异,你可以这样做:
git log -1 -U c
这将为您提供提交日志,然后您将完全控制所有git日志选项以实现自动化。在您的实例中,您说您想要更改集。实现这一目标最容易理解的方法是:
git log --name-status --diff-filter="[A|C|D|M|R|T]" -1 -U c
或者,如果您使用的是大于1.8的git版本。X是:
git log --name-status --diff-filter="ACDMRT" -1 -U c
这将给你类似的结果:
commit {c} Author: zedoo <zedoo@stackoverflow.com> Date: Thu Aug 2 {time-stamp} {short description} D zedoo/foo.py A zedoo/bar.py
当然,你可以过滤掉任何你认为合适的事件,并通过传统的git-log命令格式化返回,这些命令有良好的文档在这里。
你可以通过commit的描述来过滤更改:
git log --grep='part_of_description' -p
其中git log --grep='part_of_description'选择包含'part_of_description'的提交,而-p显示每次提交的更改集
git log --grep='part_of_description'
-p