单个修订版的git日志

时间:2010-11-02 21:10:08

标签: git git-log

我有一个提交c。我想得到那个确切的提交c + metainformation的变更集而不是其他的。有没有比git log -p c^..c更简单的方法呢?

4 个答案:

答案 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显示每个提交的变更集