git学习(七):git 对象库
git log -l -pretty=raw // 查看日志 -l是干啥的
git log -pretty=raw //
git cat-file -t 哈希值 // 查看id的类型
不知道为啥这里我不一样:即使用git log -l --pretty=raw也只是出现commit的,但是git cat-file -p 哈希值则会出现tree和parent。
root@tuhooo:~/workspace/demo # git log
commit ac31089960196a531c277dc516be678c0aa76489 (HEAD -> master)
Author: tuhooo <tuhooo@.com>
Date: Thu Jun :: + empyt commit? commit 12dc6c72e41e6457e262f6f1be5ec5dd5dcb6b58
Author: tuhooo <tuhooo@.com>
Date: Thu Jun :: + initialized.
root@tuhooo:~/workspace/demo # git cat-file -p ac31
tree 190d840dd3d8fa319bdec6b8112b0957be7ee769
parent 12dc6c72e41e6457e262f6f1be5ec5dd5dcb6b58
author tuhooo <tuhooo@.com> +
committer tuhooo <tuhooo@.com> + empyt commit?
查看tree对象的信息:
root@tuhooo:~/workspace/demo # git cat-file -p 190d
blob 18832d35117ef2f013c4009f5b2128dfaeff354f welcome.txt
这里blob对象保存着文件"welcome.txt"的内容。
root@tuhooo:~/workspace/demo # git cat-file -t 18832d35117ef2f013c4009f5b2128dfaeff354f
blob
root@tuhooo:~/workspace/demo # git cat-file -p 18832d35117ef2f013c4009f5b2128dfaeff354f
Hello.
这些对象都是存放在git库中的objects目录下(id的前两位作为目录名,后38位作为文件名)。
在commit对象之间的相互关联,可以很容易识别出一条跟踪链。最后一个commit没有parent属性,所以跟踪链到此终结,此即为提交的起点。
git log --pretty=raw --graph ac31
git status -s -b // 查看工作区和暂存区的改动 -s 精简信息 -b 显示当前分支
git branch // 查看当前分支, 前面标有*号的是当前分支
// 下面三个命令的输出是一样的
git log -l HEAD
git log -l master
git log -l refs/heads/master
也就是在当前的版本库中,HEAD、master和refs/heads/master具有相同的指向。接下来一步一步从HEAD到master再到commit。得出的结论是master指向的是一个提交ID(最新提交)。即用一个文件指向这个链条的最新提交。
find .git -name HEAD -o -name master
在.git/logs目录下的文件以后再讨论,现在看.git/HEAD和.git/refs/heads/master上。
cat .git/HEAD
cat .git/refs/heads/master
git cat-file -t e69606 // 查看该提交
查看该提交的内容
用一个文件指向最新的提交,就是.git/refs/heads/master了。
git rev-parse // 显示引用对应的提交
git rev-parse master
git rev-parse refs/heads/master
git rev-parse HEAD
git学习(七):git 对象库的更多相关文章
- git学习(七) git的标签
git的标签操作 git标签操作 git tag 不加任何参数 表示显示标签(按字母序) 非按时间 git tag 标签名 默认是给最近一次提交打上标签 git tag 标签名 commitId 给响 ...
- git学习——<五>git分支
git学习——<一>git安装 git学习——<二>git配置文件 git学习——<三>git操作 git学习——<四>git版本管理 一.提出问题 今 ...
- git学习之创建版本库(三)
创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以 ...
- git学习2:版本库
创建版本库 版本库,又称仓库,英文名为repository,版本库内的所有文件都可以被Git管理起来,即每个文件的修改.删除,Git都能跟踪. 1,在目录中创建版本库 在目录中有两种创建版本库的方法, ...
- git学习之创建版本库
创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以 ...
- git学习01- 下载安装&初始化库&提交
1.windows下安装git,git官网下载安装包安装 2.本地创建一个目录,在目录下创建1个文本 readme.txt 3.cmd进入到该目录,执行git init,初始化git仓库 4.添加文件 ...
- Git 学习之关于版本库
记得在第一次接触代码的时候,当对一些改动不是很确定的时候,我的做法就是在我的电脑上保留多个文件,分别以不同的名字来保存,以便于以后发现某个地方的带动是错误的好做修改,现在想想真是好笑啊. 慢慢的在工作 ...
- git学习3 - 克隆远程库到本地 将本地库上传到git
如何克隆远程版本库到本地 git clone URL 如何用命令将本地项目上传到git 1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库 (注意: cd C:/U ...
- mzy git学习,git推送到远程库(八)
git在同步到远程库 关于git中多个用户切换的事情: 完全使用账户密码策略连接远程库: 之前一直尝试在本地切换多个用户,发现一直不行,很奇怪?后面发现必须要去win10的凭据管理器删除当前git的凭 ...
随机推荐
- Access2007 操作或事件已被禁用模式阻止解决办法
在“消息栏”上,单击“选项”. 在“Microsoft Office 安全选项”对话框中,单击“启用此内容”,然后单击“确定”. 如果没有看到消息栏在“数据库工具”选项卡上的“显示/隐藏”组中,单击“ ...
- go test命令參数问题
go test命令參数问题 在使用go test对go代码进行单元測试的时候,遇到关于命令參数的问题.google了一下,没有找到非常好的说明,其实就是一些细节而已. 问题是这种,在进行单元測试的时候 ...
- GDI+绘制渐变色
例1: void CTextDlg::OnPaint(){Graphics graphics(this->m_hWnd); LinearGradientBrush linGrBrush( Poi ...
- Objective-C 如何让非等宽的数字和空格对齐
在printf中,我们可以通过格式字符串来对文字进行对齐输出,比如: printf("%5d\n%5d", 12, 345); 在使用等宽字体的Console中,我们可以看到数字右 ...
- EndNote 输出样式模板(根据国家标准制订)
EndNote 输出样式模板(根据国家标准制定) EndNote 相当于一个数据库,将添加/导入的文献存档.需要引用文献的时候就从中选择一个插入到文档中,EndNote 会自动给你编号.在文档末尾 ...
- eclipse jdk版本设置
1 Java Build Path(项目的编写环境配置): 在项目上单击右键,properties -> Java Build Path -> Libraries,选择JRE System ...
- ROC 曲线简要解释
阳性 (P, positive)阴性 (N, Negative)真阳性 (TP, true positive):正确的肯定.又称:命中 (hit)真阴性 (TN, true negative):正确的 ...
- redis transactions(事务)
MULTI MULTI:标记一个事务块的开始. 事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行. 可用版本:>= 1.2.0 时间复杂度: ...
- Create rolling monthly, weekly and daily Logstash indices
在刚刚开始接触ELK的时候我们习惯把每一个index都按照day来切割.但是我们会发现我们的shards 会很多. 其实我们一该把那些小的index按照一周或者一个月来rolling,来减少我们的sh ...
- ansible 视频学习
ansible 视频地址 https://ninghao.net/video/4040