git 中获取短的 commit hash 值
2016-03-21 13:43
411 查看
本文摘至:http://www.open-open.com/lib/view/open1328070367499.html
Git 很聪明,它能够通过你提供的前几个字符来识别你想要的那次提交,只要你提供的那部分 SHA-1 不短于四个字符,并且没有歧义——也就是说,当前仓库中只有一个对象以这段
SHA-1 开头。
例如,想要查看一次指定的提交,假设你运行
假设是
Git 可以为你的 SHA-1 值生成出简短且唯一的缩写。如果你传递
通常在一个项目中,使用八到十个字符来避免 SHA-1 歧义已经足够了。最大的 Git 项目之一,Linux 内核,目前也只需要最长 40 个字符中的 12 个字符来保持唯一性。
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 个字符来保持唯一性。
相关文章推荐
- 2015总结和Android开发工程师简历的书写
- ava是面向对象的语言
- 利用hibernate的动态模型进行多表查询
- http实现方式概念学习笔记
- 关于string的对象引用
- Sublime Text3使用总结
- 如何让浏览器直接输出HTML代码而不解析
- web service初识和问题(一)
- CentOS 6.5下配置LVM-操作过程-for-2个3T盘
- Spring MVC实现用户登录页面
- Android之ContentProvider与ContentResolver
- matlab简单应用
- Git 本地安装
- 腾讯 Bugly for Xamarin Android 的插件
- Runnable、Callable、Executor、Future、FutureTask关系解读(转)
- 《java作业》
- 第三周(JAVA编写的 wordcount)
- 根据给出的语料库,训练n-gram模型。根据训练出的模型,判断测试集中每个句子是不是语法合法的句子
- Mapped Statements collection does not contain value for
- iOS 微信支付