1. 程式人生 > >Git分支和指標

Git分支和指標

Git中的分支本質上是個指向commit物件的指標。

在當前commit點建立一個新的分支test

git branch test

建立了一個新的可變指標指向f30ab  commit

Git 是如何知道你當前是在哪個分支上工作的

(1)Git儲存著一個名為HEAD的特別指標

(2)HEAD可以指向你正在工作中的本地分支的指標

(3)HEAD也可以指向一個單獨的commit點(分離頭指標)

(4)git中用來操作HEAD指標的命令是

git checkout

(5)檢視當前所在的分支

git branch

(6)切換分支

git checkout  <分支名稱>

git reset 用於移動HEAD指標指向的commit點(如HEAD指標指向了分支,分支也會移動),但git reset 不會切換分支(注意和checkout的區別)

reset 的幾種,模式:

(1)--soft:快取區和工作目錄不受影響。reset後分支和HEAD指標移動到指定的commit,程式碼檔案內容和reset之前一樣,修改部分已加入到暫存區。通常用於重新提交。

(2)--mixed:(預設)工作目錄不受影響。reset後分支和HEAD指標移動到指定位置,程式碼檔案內容和reset之前一樣,修改部分未加入到暫存區。(需要重新執行git add)

(3)--hard:工作目錄,快取區均受影響。reset後分支和HEAD指標移動到指定commit,程式碼檔案內容回退到指定commit,工作空間為clean狀態。通常用於獲取指定版本的程式碼檔案。