git - 从 GITHub 提交 url 中提取差异哈希

标签 git github

如果您打开 GITHub 提交,单击“已更改的文件”链接并单击任何一个已更改的文件,浏览器中的提交 url 将附加一个 diff hash id,如下所示:

'#diff-3db08c3ce067ae92af324b2d8bd6b5e2'。

完整网址 - https://github.com/google/guava/commit/19c39725be34efafa59edf6238713e97f6565eb1#diff-3db08c3ce067ae92af324b2d8bd6b5e2

谁能解释一下这个 diff hash id 到底是什么,是否有任何 git 命令可以为更改的文件生成这个 id?

最佳答案

#diff- 之后的部分不是 SHA-1 哈希,因为它没有 40 个字符而是 32 个字符。事实上,如果您在您的 repo 中运行此命令:

git rev-parse 3db08c3ce067ae92af324b2d8bd6b5e2

你会得到这个:

fatal: ambiguous argument '3db08c3ce067ae92af324b2d8bd6b5e2': unknown revision or path not in the working tree.

所以,如果非要我猜的话,我会说这是 GitHub 生成的 GUID,用于跟踪提交中包含的文件。

关于git - 从 GITHub 提交 url 中提取差异哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43996083/

相关文章:

git - 提交和推送时git名称是如何确定的

git - 防止 git secret 配置文件被推送

c# - 无法在 git 中进行推/pull - 使用 visual studio

javascript - 使用javascript注销Github

git - PhpStorm 可以显示已提交但尚未 merge 的代码的编辑行状态吗?

git - 在 GIT 中,如何防止人们更改或删除已推送的提交?

解压时 Git 克隆失败 - 空间不足 - 如何在没有完整克隆的情况下恢复?

git - 如何在没有 merge 冲突的情况下将一长串 git merge 转换为单个 rebase?

css - 如何更改动态嵌入要点的高度?

git - 如何重命名 GitHub 上的存储库?