Git版本控制管理读书笔记——第六章:提交

6.1 原子变更集

每一个给git的提交都代表一个相对于之前的状态的单个原子变更集,对于提交中的改动,要么全部成功要么全部失败

6.2提交的识别

用40位的SHAI值来当作提交的名字,对于全局,和所有的数据库都是唯一的,可以使用版本对象库中的唯一前缀来
缩短他
 1. 引用和符号引用:
 引用ref是一个散列值,通常指向提交对象,而符号引用(symref)间接指向git提交对象。本地特性分支名,远程跟踪分支名,标签名都是引用。
 2.git自动维护几个用于特定目的的特殊符号英语,这些引用可以在任何提交的地方使用
 	HEAD:始终指向当前分支的最近提交
 	ORIG_HEAD:一些合并或者复位操作会新值之前的版本,把新值之前的版本记录到ORIG-HEAD版本中,可以使用它来回滚或使用之前的状态来比较
 	FEATCH—HEAD:使用远程库是,git FEATCH-HEAD命令抓取所有分支头记录在.git/featch-head中
 	MEARGE-HEAD:一个合并操作时,其他的分支头记录在MEARGE-HEAD中,换而言之,它是正在合并进HEAD的提交
 3.相对提交名:每一次提交都有一个父提交,它来自一个比它更早的父提交,插入符号^是选择不同的父提交的,C^1 C^2 C^3是第一个第二个第三个父提交。~用于返回父提交之前选择上一代提交如C~1,c~2为父提交和祖父提交,可以将^和~进行组合

git rev -parse命令最终决定把任何形式的提交名–标签、相对名、简写或绝对名称都转换为对象库中的实际的绝对的提交散列

6.3 提交历史记录

查看旧提交:
主要的命令是:git log  ==   git log HEAD,从提交开始回溯,依附于提交图回溯
提供一个提交名: git log commit: 从该位置开始回溯
限制提交的范围:git log --pretty=short --abbrev-commit master~12..master~10;显示master~10和master~11提交,前面引入了--pretty=short 和-abbrev-commit,前者调整了每个提交的信息数量,后者简单的缩写散列ID --stat选项列举了提交中所改的文件以及每个更改的文件中有多少行改变
查看对象库中对象信息的命令是git show 可以用查看某个提交 git show HEAD~2

提交图:git使用的是有向无环图
提交的范围:有尾无首

查找提交:git bisect;确定一个坏的版本默认为HEAD,从一个干净的目录启动git bisect,告诉git查找的版本好坏,然后git进行二分查找,git会维护一个日志来记录你的回答及提交ID用git bisect log

	GIT使用blame,告诉你每个文件的每一行是谁修改的和哪次提交做出了变更 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值