返回過去版本 git reset, git revert
git reset
指令時,--soft、--mixed 和 --hard 參數可以控制重置的範圍以及對暫存區和工作目錄的影響程度。
- 影響程度:
選項 | 歷史 | 暫存區 | 工作目錄 |
---|---|---|---|
--soft |
✔ | ||
--mixed (預設) |
✔ | ✔ | |
--hard |
✔ | ✔ | ✔ |
具體操作:
回復到上一個(或更前的)版本。
小知識
HEAD 是什麼 ? HEAD 是一個指標,通常指向某一個分支,通常你可以把 HEAD 當做「目前所在分支」看待。
我們也可以用以下方法,讓HEAD 從 branch中分離出來
revert
假設你回覆之前的版本後,又想回復到最新提交的版本,就可以用:
貼心提示
如果一開始沒有記下來 Commit 的 hash id 值也沒關係,Git 裡有個 reflog
指令有保留一些紀錄。
當 HEAD 有移動的時候(例如切換分支或是 reset 都會造成 HEAD 移動),Git 就會在 Reflog 裡記上一筆。
小提示
git log -g
也可以看到 Reflog 喔!