在開始今天內容之前,
我們先小小複習一下前兩天的內容 :)
今天內容有兩個指令用法:
今天我們新增了兩個檔案並且加入索引(暫存區),才發現加錯檔案惹,要如何取消索引呢?
--可以看到上圖是已經新增兩個檔案並加入索引的狀態。
取消索引的話,輸入 git reset HEAD
--就可以看到這兩個檔案恢復成不被追蹤的狀態惹。(會回到原本的工作目錄上)
如果是要取消 一個 檔案的話,輸入 git reset HEAD 檔案名稱.副檔名
--可以看到原本被追蹤的兩個狀態,只剩一個。
還記得我們剛剛有新增一個 index.html 的檔案嗎?今天我們如果在編輯的時候不小心把他玩壞了,完全不曉得自己剛寫了什麼、改了哪一行怎麼辦呢?(我好常玩壞我的 JS இдஇ)
--這是我玩壞後的html,原本什麼都沒有喲!
輸入 git status
查詢狀態,會發現:
-- Git 很貼心的偵測到你修改了 index.html。
那麼我該如何還原檔案呢
別擔心,這時候輸入 git checkout
就可以回到最原始 commit 的資料惹喔!
--記得後面要輸入檔名喲!
再回去看我的檔案
就回到原本的版本嚕! 如果要使用 command+z 回到最初也是可以辣......
好,狀況劇來惹!
如果,我今天所編輯的內容或是已經加入索引的工作目錄全部都要砍掉重來怎麼辦呢?
使用 git reset --hard
就可以還原工作目錄與索引,會跟最後一次 commit 的紀錄保持一樣。
請先全部加入索引 git add .
再輸入 git reset --hard
--就可以看到他回到最初的 commit 的樣子嚕!
可以使用 git log 查詢記錄
--沒錯,他回到最一開始 commit 的版本惹!
這邊給大家看看如果沒有先將這些檔案加入索引,就算使用
git reset --hard
,新增的檔案還是會被 Git 偵測為 未被追蹤的狀態 喲!但如果全部加入索引,再使用一次指令,得到的結果就是全部都回到最最原始的版本紀錄。
知道為什麼要先加入索引了吧(✪ω✪)
明天會針對今天這篇做補充以及延伸說明喲!
今天就先到這喇ᕙ༼ຈل͜ຈ༽ᕗ
最後,
祝大家中秋節快熱!!!!!!