Git 常用指令: checkout, reset, revert

2021-06-03

HEAD 是一個 reference,它是指向目前所 checkout 的 commit,基本上,其實就是你目前所在的 commit。 

大部份 git 的指令如果要修改 commit tree 的狀態的話,都會先改變 HEAD 所指向的 commit。

git checkout c2

相對引用

使用相對引用,你可以從一個易於記憶的地方(比如說 branch 名稱 bugFix 或 HEAD)開始工作。

 介紹兩個簡單的用法:

  • 使用 ^ 向上移動一個 commit
  • 使用 ~<num> 向上移動多個 commit


首先看看插入(^)這一個符號。把這個符號接在某一個 reference 後面,就表示你告訴 git 去找到該 reference 所指向的 commit 的 parent commit。

所以 main^ 相當於 "main 的 parent commit"。

git checkout main^ 

波浪符號後面可以選擇一個數字(你也可以不選擇),該數字可以告訴 Git 我要向上移動多少個 commit 

git checkout HEAD~4

可以使用 -f 選項直接讓分支指向另一個 commit。

(強制)移動 main 指向從 HEAD 往上數的第三個 parent commit。

git branch -f main HEAD~3

取消 git 的修改

在 git 裡主要用兩種方法來取消修改,一種是 git reset,另外一種是 git revert。 

git reset 把分支的參考點退回到上一個 commit 來取消修改。你可以認為這是在"重寫歷史"。 

git reset HEAD~1

雖然在 local branch 中使用 git reset 很方便,但是這種「改寫歷史」的方法對別人的 remote branch 是無效的!為了取消修改並且把這個狀態分享給別人,我們需要使用 git revert。

git revert HEAD

Miller : hhjoy222@gmail.com
Webnode 提供技術支援
免費建立您的網站! 此網站是在 Webnode 上建立的。今天開始免費建立您的個人網站 立即開始