git分布式版本控制系统权威指南学习笔记(三):简单了解git对象、head以及sha1sum
git对象(简单了解)
每次提交都有tree、parent、author、committer
➜ demo git:(master) ✗ git log --pretty=raw --graph 50bceb7c6f5
* commit 50bceb7c6f598c258a1502f25f7bc08220635aea
| tree 9d1cf4f29cf360391811eb69f8eeb6859a029c11
| parent 81b09ecc5f2f0222ede2b474efb1d8da9b04714e
| author dataiyangu <32248827@qq.com> 1552315059 +0800
| committer dataiyangu <32248827@qq.com> 1552315059 +0800
|
| a
|
* commit 81b09ecc5f2f0222ede2b474efb1d8da9b04714e
| tree 86761909e740889c54721914f2e942218982991f
| parent 1e20fe7563a4b4bf8a091fe6c55ca9f32786224c
| author dataiyangu <32248827@qq.com> 1552277904 +0800
| committer dataiyangu <32248827@qq.com> 1552277904 +0800
|
| add
|
* commit 1e20fe7563a4b4bf8a091fe6c55ca9f32786224c
| tree 529ca55c0571956f6e1b1290a77675ba72a64938
| parent ed97a5e3d4ae753183e6a796625dfca1f83c1f61
| author dataiyangu <32248827@qq.com> 1552277753 +0800
| committer dataiyangu <32248827@qq.com> 1552277753 +0800
|
| a
–pretty=raw没有加任何加工的,原先是什么就是什么,参数还可以指定为oneline、short、full、fuller、emial、raw、farmat等
–graph 50bceb7c6f5展现对象之间的关系
左边的竖线表示这里是一个链表的关系,通过parent来连接,可以看到上面代码中第一个parent的号就是第二个的commit号,最早的那次提交是没有parent的,这也就是为什么git切换分支特别快。
tree类似于目录a文件夹下有b和c,c下有d和e,a和c都是tree,有点递归的感觉。
对象是存在哪里的?
就是存在版本库的objects目录中,通过hash值前两位作为文件夹,后几位作为具体的对象名
head和master分支
head就是一个类似指针的概念,指向master,head就是master,指向dev,head就是dev,就是git branch前面的*号
简而言之head就是当前分支,当前分支是哪个分支,head就指向哪个分支。
➜ demo git:(master) ✗ git branch
b
* master
上面的hash值怎么来的?
sha1sum(这个算法能得到全球唯一的一个值)
例如:
➜ demo git:(master) ✗ printf git | sha1sum
输出git的sha1sum算法的值
git分布式版本控制系统权威指南学习笔记(三):简单了解git对象、head以及sha1sum的更多相关文章
- git分布式版本控制系统权威指南学习笔记(六):git reset、get stash、git checkout总结
文章目录 1. 概述 2. 如何把修改暂存起来,留着以后使用? 2.1 使用场景 2.2 git stash 暂存进度 2.3 查看进度 2.4 恢复进度 3. 如何撤销工作区的修改? 4. 如何把暂 ...
- git分布式版本控制系统权威指南学习笔记(一):配置文件、简单流程和小问题
文章目录 git配置文件简介 git config各种命令 配置级别: 用户信息 文本编辑器 差异分析工具 配置命令别名 公钥 git协同流程 简单流程 初始化版本库 提交至缓存区 查看状态 提交分支 ...
- git分布式版本控制系统权威指南学习笔记(四):git reset
文章目录 git reset目录树重写 git reset 重置 git reset目录树重写 git reset --soft 暂存区工作区不变 git reset --hard git reset ...
- git分布式版本控制系统权威指南学习笔记(二):git add暂存区的三个状态以及暂存区的理解
文章目录 不经过git add(到暂存区),能直接进行commit吗? 举个
- git分布式版本控制系统权威指南学习笔记(五):git checkout
文章目录 分离头指针 通过cat可以查看当前的分支 通过branch查看当前分支 checkout commitId(真正的
- Hadoop权威指南学习笔记三
HDFS简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考.有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my ...
- Git权威指南学习笔记(二)Git暂存区
例如以下图所看到的: 左側为工作区,是我们的工作文件夹. 右側为版本号库,当中: index标记的是暂存区(stage),所处文件夹为.git/index,记录了文件的状态和变更信息. master标 ...
- netty权威指南学习笔记三——TCP粘包/拆包之粘包现象
TCP是个流协议,流没有一定界限.TCP底层不了解业务,他会根据TCP缓冲区的实际情况进行包划分,在业务上,一个业务完整的包,可能会被TCP底层拆分为多个包进行发送,也可能多个小包组合成一个大的数据包 ...
- IDA Pro 权威指南学习笔记(三) - IDA 桌面简介
IDA 的默认桌面如下图 工具栏区域(1)包含与 IDA 的常用操作对应的工具,可以使用 View -> Toolbar 显示或隐藏工具栏 可以使用 View -> Toolbars -& ...
随机推荐
- Android Studio遇到了“No USB devices or running emulators detected”
我这里遇到的情况是adb interface 错误:未安装,在这个网站: http://adbdriver.com/downloads/ 下载了Automated installation(Unive ...
- navicat连接登录windows10本地wsl的数据库
1.修改MySql的配置文件 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 将找到 bind-address = 127.0.0.1 并注释掉 → # bin ...
- 51、tf-idf值提取关键词
import testWord2vec2 as tw import tensorflow_util as tu import numpy as np model = tw.load_model() n ...
- mybatis的sqlprovider用法扩展自定义sql
SqlProvider使用 public class MemberRewardSqlProvider { private static final Logger log = LoggerFactory ...
- QTP - excel操作
1. 以数据库的形式访问Excel 通常,我们与Excel的交互,是通过创建Excel对象的方式: Set ExcelApp = CreateObject("Excel.Applicatio ...
- Tomcat启动脚本(3)setclasspath.bat
@echo off rem Licensed to the Apache Software Foundation (ASF) under one or more rem contributor lic ...
- 用Emacs进行Python开发
用Emacs进行Python开发 */--> code {color: #FF0000} pre.src {background-color: #002b36; color: #839496;} ...
- 是否有任何python库可以从自然语言中解析日期和时间?
我正在寻找的是可以将“明天早上6点”或“中午的下一个模拟”转换为适当的日期时间对象. 解决方案 parsedatetime - 能够解析“人类可读”日期/时间表达式的Python模块. #!/usr/ ...
- 33-python基础-python3-列表插入元素-insert()方法-append()方法-extend()方法
1-insert()方法 insert()方法可以在列表任意下标处插入一个值. insert()方法的第一个参数是新值的下标,第二个参数是要插入的新值. 2-append()方法 调用 append( ...
- 在Ubuntu下安装source Insight
在ubuntu中,安装windows程序用wine,然后用wine安装windows软件即可. 安装wine sudo apt-get install wine 下载sourceinsight的exe ...