git將引用儲存在檔案中,原理很簡單
引用
指的是對提交記錄
的引用
提交記錄
用雜湊值
唯一標識
每個引用
用乙個檔案表示,檔案中儲存其引用的提交記錄的雜湊值
遠端分支
taghead
每個git倉庫只有乙個head
表示當前工作區
檢出的檔案(或者說檔案在修改之前)是屬於哪個提交記錄
的
git checkout 指令
,就是在改變head的指向
copy
$git checkout master
switched to branch 'master'
$cat .git/head
ref: refs/heads/master
$cat .git/refs/heads/master
89d496d44f93d107a7eb404890cd15a14ba8845d
checkout master後, head指向master, master指向89d496
copy
$ git checkout milestone
note: checking out 'milestone'.
you are in 'detached head' state.
head is now at eecc5fe milestone
$ cat .git/refs/tags/milestone
eecc5fe060e5b86957f931fd931beae4f206d4eb
$ cat .git/head
eecc5fe060e5b86957f931fd931beae4f206d4eb
checkout tag milestone後,head指向eecc5f, detached head
出處:git將引用儲存在檔案中,原理很簡單
引用
指的是對提交記錄
的引用
提交記錄
用雜湊值
唯一標識
每個引用
用乙個檔案表示,檔案中儲存其引用的提交記錄的雜湊值
遠端分支
taghead
每個git倉庫只有乙個head
表示當前工作區
檢出的檔案(或者說檔案在修改之前)是屬於哪個提交記錄
的
git checkout 指令
,就是在改變head的指向
copy
$git checkout master
switched to branch 'master'
$cat .git/head
ref: refs/heads/master
$cat .git/refs/heads/master
89d496d44f93d107a7eb404890cd15a14ba8845d
checkout master後, head指向master, master指向89d496
copy
$ git checkout milestone
note: checking out 'milestone'.
you are in 'detached head' state.
head is now at eecc5fe milestone
$ cat .git/refs/tags/milestone
eecc5fe060e5b86957f931fd931beae4f206d4eb
$ cat .git/head
eecc5fe060e5b86957f931fd931beae4f206d4eb
checkout tag milestone後,head指向eecc5f, detached head git 使用詳解(8) 分支HEAD
有人把 git 的分支模型稱為 必殺技特性 而正是因為它,將 git 從版本控制系統家族裡區分出來。git 有何特別之處呢?git 的分支可謂是難以置信的輕量級,它的新建操作幾乎可以在瞬間完成,並且在不同分支間切換起來也差不多一樣快。和許多其他版本控制系統不同,git鼓勵在工作流程中頻繁使用分支與合...
git 使用詳解(8) 分支HEAD
有人把 git 的分支模型稱為 必殺技特性 而正是因為它,將 git 從版本控制系統家族裡區分出來。git 有何特別之處呢?git 的分支可謂是難以置信的輕量級,它的新建操作幾乎可以在瞬間完成,並且在不同分支間切換起來也差不多一樣快。和許多其他版本控制系統不同,git鼓勵在工作流程中頻繁使用分支與合...
Git命令中HEAD 和HEAD 區別
說明 本篇文章是對pro git 7.1 git 工具 選擇修訂版本 章節中 祖先引用 的總結。git命令中head 和head 區別。使用場景 如果想獲取乙個提交的第幾個父提交使用head 數字,想獲取乙個提交的上幾個提交使用head head和head或head 和head 並沒有區別,只有he...