返回前提交紀錄有兩種模式 Hard 與 Soft
Hard
$ git reset --hard HEAD
:
此種模式完全不保留原始 commit 結點的任何資訊,會連同資料夾中實體檔案內容都進行重置,也就是直接將工作區、暫緩區及 git 目錄都重置成目標Reset結點的資料內容。
Soft
$ git reset --soft HEAD / commit id
:此模式下會保留工作區資料內容,不會異動到目前所有的實體檔案內容;也會保留暫緩區資料內容,讓暫緩區與 git 目錄資料內容是一致的。
恢復到最新提交版本
git reset --hard HEAD
回到上一個(前一次)的提交版本
$ git reset --hard HEAD~
等於
$ git reset --hard HEAD~1
回到前N次的提交版本
$ git reset --hard HEAD~N
例如:
$ git reset --hard HEAD~4 //往前第4次的
$ git reset --hard HEAD~8 //往前第8次的
回到指定的提交版本
$ git reset --hard <commit id> : 回復到指定的提交版本
補充
查看所有Commit清單 (n 是顯示最近幾則提交記錄)
//顯示完整所有的內容<-顯示最近幾則>
$ git log -v <-n>
例如:$ git log -v -4 //顯示最新的4則
//顯示一行標題,內容不顯示(比較好閱讀)
$ git log --oneline <-n>
例如:$ git log --oneline -4 //顯示最新的4則
參考來源:https://medium.com/@bigboys.me/%E8%AE%93%E4%BD%A0%E7%9A%84%E4%BB%A3%E7%A2%BC%E5%9B%9E%E5%88%B0%E9%81%8E%E5%8E%BB-git-reset-%E8%88%87-git-revert-%E7%9A%84%E7%94%A8%E8%99%95-6ba4b7545690
人生美好~別浪費腦容量記程式碼 :- )
作者:CYL
出處:http://dotblogs.com.tw/cylcode
資料來源都會特別註明,有興趣都可查詢原出處,本站皆經過整理才分享,如有轉載請顯示出處及作者,感謝。