Git檢出(git權威指南筆記)

2021-07-28 12:38:28 字數 1388 閱讀 7137

head:頭指標,是當前工作區的基礎版本

看到當前處於的分支:git branch -v 

分離頭指標:git checkout 4902dc3^

處於分離頭指標狀態,可以檢查、測試和提交,而不影響任何分支。通過執行另外的乙個checkout檢出指令會丟棄在此狀態下的修改和提交

挽救分離頭提針

git branch -v

git merge acc2f69

深入了解git checkout命令

git checkout:是git最常用的命令,但也是乙個很危險的命令,因為這條命令會重寫工作區

1、git checkout [-q] [--]

可選 的如果省略則從暫存區(index)進行檢出

重置:一般用於重置暫存區(除非使用--hard引數)

檢出:主要用於覆蓋工作區

不會改變head頭指標,主要用於指定版本的檔案覆蓋工作區中對應的檔案。

如果省略,則會用暫存區的檔案覆蓋工作區的檔案,

否則用提定提交中的檔案覆蓋暫存區和工作區中對應的檔案。

2、git checkout [

]會改主head頭指標,

引數寫件

。是因為只有head切換到乙個分支才可以對提交進行跟蹤,否則會進入「分離頭指標」的狀態。「在分離頭指標」狀態下的提交不能被引用關聯到,從而可能丟失

3、git checkout [-m] [[-b|--orphan] ]

建立和切換到新的分支(),新的分支從提定的提交開始建立

檢出branch分支,完成1,2,3

1、更新head指向branch分支

2、用branch指向的樹更新暫存區和工作區

git checkout git checkout head

彙總顯示工作區、暫存區與head的差異

git checkout --filename

用暫存區中filename檔案來覆蓋工作區的filename檔案。相當於取消自上次執行git add filename以來(如果執行過)的本地修改

git checkout branch --filename

維持head的指向不變。用branch所指向的提交中的filename替換暫存區和工作區中相應的檔案

注意:會將暫存區和工作區中的filename檔案直接覆蓋

git checkout -- .   git checkout .

注意:git checkout 命令後的引數為乙個點(「.") 這條命令最危險 會取消所有本地的修改(相對於暫存區)。相當於用暫存區的所有檔案直接覆蓋本地檔案,不給使用者任何確認的機會

git物件(git權威指南筆記)

1 檢視日誌詳盡輸出 git log l pretty raw id型別 commit tree 目錄 blob 檔案 檢視id型別 git cat file t id 檢視物件內容 git cat file p id git cat file p 668bcec git cat file p a1...

git暫存區(git權威指南筆記)

1 檢視提交 commit 日誌 git log 看到每次提交的檔案變更統計 stat git log stat 精簡輸出日誌 pretty oneline git log pretty oneline 2 檢視檔案狀態 git status 精簡格式的狀態輸出 s git status s 3 g...

Git學習筆記(六) Git檢出

檢出命令 此命令會重寫工作區 該命令的實質就是修改head本身的指向,不會影響分支游標。當執行此命令時,head頭指標被更改了,由指向乙個引用 分支 變成了指向乙個提交id,分支 master 的指向沒有改變,仍舊指向原有的提交id 分離頭指標 狀態 指的是head頭指標指向了乙個具體的提交id 用...