我有一个commit c,我想要得到这个commit c +元信息的变更集,而不是其他的。有比gitlog -p c^. c更简单的方法吗?
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
Where git log——grep='part_of_description'选择包含'part_of_description'和-p显示每次提交的更改集
推荐文章
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 跟踪所有远程git分支作为本地分支
- 自定义SSH端口上的Git
- git如何显示不存在于.gitignore中的未跟踪文件
- Git错误:遇到7个文件应该是指针,但不是
- GitHub克隆与OAuth访问令牌
- 移动(或“撤销”)最后一个git提交到非暂存区域
- 我可以在GitHub上对要点进行拉请求吗?
- Hg:如何做一个像git的rebase
- 如何丢弃远程更改并将文件标记为“已解决”?
- 如何查看远程标签?