您的位置:首页 > 其它

git 中获取短的 commit hash 值

2016-03-21 13:43 411 查看
本文摘至:http://www.open-open.com/lib/view/open1328070367499.html

Git 很聪明,它能够通过你提供的前几个字符来识别你想要的那次提交,只要你提供的那部分 SHA-1 不短于四个字符,并且没有歧义——也就是说,当前仓库中只有一个对象以这段
SHA-1 开头。

例如,想要查看一次指定的提交,假设你运行
git log
命令并找到你增加了功能的那次提交:
$ git log commit 734713bc047d87bf7eac9674765ae793478c50d3


假设是
1c002dd....
。如果你想
git
show
这次提交,下面的命令是等价的(假设简短的版本没有歧义):
$ git show 1c002dd4b536e7479fe34593e72e6c6c1819e53b

$ git show 1c002dd4b536e7479f

$ git show 1c002d


Git 可以为你的 SHA-1 值生成出简短且唯一的缩写。如果你传递
--abbrev-commit
git
log
命令,输出结果里就会使用简短且唯一的值;它默认使用七个字符来表示,不过必要时为了避免 SHA-1 的歧义,会增加字符数:
$ git log --abbrev-commit --pretty=oneline

ca82a6d changed the version number

085bb3b removed unnecessary test code

a11bef0 first commit


通常在一个项目中,使用八到十个字符来避免 SHA-1 歧义已经足够了。最大的 Git 项目之一,Linux 内核,目前也只需要最长 40 个字符中的 12 个字符来保持唯一性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: