在GitHub上查找给定提交哈希的提交



我是Github的新手,遇到了一个业余的问题。

我被要求进行代码审查,并获得了提交哈希,但我尝试在Git中查找是否可以使用提交哈希进行搜索,但找不到任何内容。

有没有一种方法可以通过使用提交哈希来找到更改后的代码?

表单https://github.com/<owner>/<project>/commit/<hash>的URL将显示提交中引入的更改。例如,我最近在GitHub:上对我的一个项目进行了错误修复

https://github.com/jerith666/git-graph/commit/35e32b6a00dec02ae7d7c45c6b7106779a124685

您还可以将散列缩短为任何唯一的前缀,如下所示:

https://github.com/jerith666/git-graph/commit/35e32b


我知道你刚刚问过GitHub,但为了完整性:如果你从命令行签出了存储库,你可以用以下任何一个命令实现基本相同的事情(这里也有唯一的前缀):

git show 35e32b6a00dec02ae7d7c45c6b7106779a124685
git log -p -1 35e32b6a00dec02ae7d7c45c6b7106779a124685

注意:如果您将提交哈希缩短得太远,命令行会给您一条有用的消歧消息,但GitHub只会返回404。

查看单个提交:
https://github.com/<user>/<project>/commit/<hash>

查看日志:
https://github.com/<user>/<project>/commits/<hash>

查看完整回购:
https://github.com/<user>/<project>/tree/<hash>

<hash>可以是任何长度,只要它是唯一的。

最近在GitHub中添加了搜索提交的功能。

要搜索哈希,只需在搜索框中至少输入前7个字符。然后在结果页面上,单击"提交"选项卡查看匹配的提交(但仅在默认分支上,通常为master),或单击"问题"选项卡查看包含提交的拉取请求。

更明确地说,您可以在搜索中添加hash:前缀,但这并不是真正必要的。

还有一个REST API(在撰写本文时,它还在预览中)。

使用GitHub CLI gh v2.22.0(2023年1月),您可以在本地克隆的GitHub存储库中进行搜索:

参见gh search commits:

示例:

# search commits matching hash "8dd03144ffdc6c0d486d6b705f9c7fba871ee7c3"
$ gh search commits --hash=8dd03144ffdc6c0d486d6b705f9c7fba871ee7c3

但也包括:

# search commits matching set of keywords "readme" and "typo"
$ gh search commits readme typo
# search commits matching phrase "bug fix"
$ gh search commits "bug fix"
# search commits committed by user "monalisa"
$ gh search commits --committer=monalisa

最新更新