根据提交散列在GitHub上找到一个提交

我对Github相当陌生,遇到了一个业余的问题。

我被要求做一个代码审查,并提供了一个提交哈希,但是我试着在Git中寻找,如果我可以使用提交哈希进行搜索,但找不到任何东西。

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

249380 次浏览

格式为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> < / p > < p >视图日志:< br > https://github.com/<user>/<project>/commits/<hash> < / p >

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

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

搜索引擎提交的功能最近被添加到GitHub。

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

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

还有一个REST API(在编写时它仍在预览中)。