git 移动分支指针_理解git 中的HEAD指针branch指针
HEAD指針
使用git checkout 來(lái)移動(dòng)HEAD指針,移動(dòng)的對(duì)象可以是分支指針也可以是快照。
HEAD指針可以指向快照也可以指向branch。當(dāng)指向branch時(shí)提交后會(huì)和branch指針一起向后移動(dòng),當(dāng)不指向branch提交時(shí)時(shí)則會(huì)在一個(gè)detached狀態(tài)。
分支(branch)指針
使用git branch -f 來(lái)移動(dòng)分支指針,移動(dòng)的對(duì)象只能是快照。當(dāng)且僅當(dāng)HEAD指針指向分支指針的時(shí)候,提交才會(huì)有效。
實(shí)例
1.HEAD指針默認(rèn)指向當(dāng)前的分支指針,用星號(hào)表示,如master*
master
2.移動(dòng)HEAD指針,git checkout C1
這個(gè)時(shí)候HEAD指針指向的是快照,這個(gè)時(shí)候指針的狀態(tài)稱(chēng)之為游離狀態(tài),detached。
這里寫(xiě)圖片描述
3.HEAD指針在游離狀態(tài)下提交,git commit
游離狀態(tài)下提交的commit,沒(méi)有分支指針指向。可以在游離狀態(tài)下的快照新建分支或強(qiáng)制移動(dòng)已存在的分支
這里寫(xiě)圖片描述
4.移動(dòng)HEAD指針,讓他指向master分支指針git checkout master
這里寫(xiě)圖片描述
5.在master分支指針上提交git commit
這個(gè)是正常的提交,和游離狀態(tài)下的提交是不一樣的
這里寫(xiě)圖片描述
6.給detached狀態(tài)下的快照添加分支。在3中我們提到給detached狀態(tài)下的快照增加分支的兩種方法。
6.1給detached狀態(tài)下的快照新建一個(gè)分支
6.1.1 將HEAD指針移動(dòng)到detached狀態(tài)的快照git checkout C2
這里寫(xiě)圖片描述
6.1.2添加分支git branch new
這里寫(xiě)圖片描述
6.1.3將HEAD指針移動(dòng)到new分支指針上就可以在new分支上提交了git checkout new
這里寫(xiě)圖片描述
6.2移動(dòng)已存在的分支到detached狀態(tài)的分支git branch -f master C2
這個(gè)時(shí)候master分支以前的快照C3就變成了detached狀態(tài)了
這里寫(xiě)圖片描述
總結(jié)
以上是生活随笔為你收集整理的git 移动分支指针_理解git 中的HEAD指针branch指针的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 名字生成器 - 再也不用担心给孩子起名了
- 下一篇: Intel600P三星sm951pm96