我对Github相当陌生,遇到了业余爱好者的问题。
我被要求进行代码审查,并提供了提交哈希,但是我尝试在Git中查找是否可以使用提交哈希进行搜索但找不到任何东西。
有没有一种方法可以仅通过使用提交哈希值来查找更改的代码?
我对Github相当陌生,遇到了业余爱好者的问题。
我被要求进行代码审查,并提供了提交哈希,但是我尝试在Git中查找是否可以使用提交哈希进行搜索但找不到任何东西。
有没有一种方法可以仅通过使用提交哈希值来查找更改的代码?
Answers:
表单的URL https://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。
git log -p -1 35e32b6a00dec02ae7d7c45c6b7106779a124685
,这-1
是必需的,因为否则它将显示所有较早的提交;很高兴知道您可以使用哈希的四个初始数字(我的测试中的最小值),因为哈希没有自动完成;并且您不能像这样指定分支:git log master -p -1 35e3
。Git版本:1.7.9.5。
git log -p -1 35e32b6a
查看单次提交:
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(在编写本文时仍处于预览状态)。
https://YourGithubDomain/search?q=YOUR_COMMIT_HASH&type=Commits
请注意,我也在Github上尝试过,并且也可以在其中工作,例如 https://github.com/search?q=38db172d13962ea177c00c9a3b4b3169b317e94b&type=Commits