371

我对 Github 还很陌生,遇到了一个业余问题。

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

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

4

3 回答 3

458

表单的 URLhttps://github.com/<owner>/<project>/commit/<hash>将显示该提交中引入的更改。例如,这是我最近对 ​​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。

于 2012-08-31T11:52:17.417 回答
69

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

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

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

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

于 2015-01-20T19:18:55.610 回答
38

搜索提交的功能最近已添加到 GitHub。

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

更明确地说,您可以将hash:前缀添加到搜索中,但这并不是必需的。

还有一个REST API(在撰写本文时仍处于预览阶段)。

于 2017-05-31T00:30:44.370 回答