Git branch的分析

1). Commit相当于是一个快照,可以理解为是一个指向tree对象(记录当前版本文件系统,文件系统可以用tree来描述)的指针。Commit message是对commit的一个概要描述,如果要引用commit,需要通过该commit的SHA1来引用。

2). Branch其实是一个指向commit的指针。但是branch和commit并不是一一对应的关系,因为直到你切换branch之前,branch是会随着commit之后自动移动的。就像截图中就只有4个branch。

3). master是git clone完成后仓库中第一个branch默认的名字,每次commit master会自动移动以指向最近一次提交对象,知道你切换到新的branch,master将不再移动。

4). HEAD也是一个指针,它指向你正在工作的branch。

git branch mybranch只是新建一个branch,HEAD还是指向之前的branch

git checkout mybranch才切换branch,HEAD才会指向mybranch

也可以通过HEAD来引用commit, HEAD~ = HEAD^ means "the first parent of HEAD“. HEAD~~ = HEAD~2 = HEAD^^ means: the first parent of HEAD’s first parent

5). 因为有改动才commit,每个节点的文件内容都是不一样的,你也可以根据自己需要从任意的commit(根据SHA1)新建branch来取得特定版本的文件

git branch mybranch 92c134fa01

所有修改结束后再通过删除分支(git checkout –d mybranch) 或merge来合并各个分支。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值