我有一个提交 c。我想获得那个确切的提交 c + 元信息的变更集,而不是其他的。有没有比git log -p c^..c
这样做更简单的方法?
96540 次
4 回答
303
您可以使用show
:
git show commit_id
于 2010-11-02T21:20:16.390 回答
68
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 命令格式化返回。
于 2012-08-03T16:01:58.910 回答
18
git log -p c -1
就是这样做的。
于 2010-11-02T21:18:51.480 回答
1
您可以使用提交的描述过滤更改:
git log --grep='part_of_description' -p
在哪里git log --grep='part_of_description'
选择包含“part_of_description”的提交并-p
显示每个提交的变更集
于 2020-01-15T16:38:50.140 回答