在Git中查找提交ID的提交日志。

112

我想查看一个提交的ID。例如,我想知道为该ID提交的代码,类似于:

git log <commit_id>

这将显示与此ID对应的提交代码和提交消息。


这里使用-p也很有用。 - John Szakmeister
3个回答

196
git show <commit_id>

这可能是你正在寻找的机器人。


我该如何找到我正在寻找的提交所在的分支名称?我只能看到提交ID、作者、日期和提交的差异。但我找不到提交所在的分支名称。 - Vojta
3
@Vojta: 请查看https://dev59.com/kXE85IYBdhLWcg3wl0jF,也就是`git branch --contains <commit>`命令的用法。 - Seth Robertson
1
实际上,在提交 ID 后面需要加两个破折号:git show XXXX --。这是为了区分文件和提交 ID。 - Tomáš Zato
这也显示了补丁。因此,如果您想看到与“git log”相同的外观,则必须执行“git show <commit_id> --no-patch”。 - Noitidart

32

@SethRobertson的解决方案对我有用,但它显示了一个差异。我希望看到与git log完全相同的结果。因此,请添加--no-patch参数:


git show <commit_id> --no-patch

我从这里学到了 - https://dev59.com/Cl0Z5IYBdhLWcg3wbwCY#31448684

2
在存储库历史中搜索提交记录
按照提交消息搜索提交记录 模型
git log --all --grep='<MENSAGE_CONTENT>'

例子

git log --all --grep='Merge pull request #240'

通过哈希值搜索提交

模型

git show <COMMIT_HASH> --no-patch
git show <COMMIT_HASH_PART> --no-patch

例子

git show b8c3fd58a0db675a6d9b9e819419f6ebc967278a --no-patch
git show b8c3fd5 --no-patch

[参考文献:https://dev59.com/mmw05IYBdhLWcg3wnjPC#7124949, https://dev59.com/dWYr5IYBdhLWcg3wxNC8#53685160]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接