我有一个提交c。我想得到那个确切的提交c + metainformation的变更集而不是其他的。有没有比git log -p c^..c
更简单的方法呢?
答案 0 :(得分:241)
您可以使用show
:
git show commit_id
答案 1 :(得分:53)
Michal Trybus的回答是最简单的。但如果您不想在输出中使用差异,则可以执行以下操作:
git log -1 -U c
这将为您提供提交日志,然后您将完全控制所有git日志记录选项以实现自动化目的。在你的实例中,你说你想要改变集。最容易实现的方法是:
git log --name-status --diff-filter="[A|C|D|M|R|T]" -1 -U c
或者,如果你使用的git版本大于1.8.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命令格式化返回,这些命令已有详细记录here。
答案 2 :(得分:12)
git log -p c -1
就是这么做的。
答案 3 :(得分:0)
您可以用来按提交说明过滤更改:
git log --grep='part_of_description' -p
其中git log --grep='part_of_description'
选择包含'part_of_description'的提交,而-p
显示每个提交的变更集