預備知識:
乙個commit對應這乙個版本,有乙個commit id,40位的16進製制數字,通過sha1計算得到,不同的檔案計算出來的sha1值不同(有很小的機率相同,可忽略),這樣每乙個提交都有其獨特的id。每提交乙個新版本,實際上git就會把它們自動串成一條時間線。
在git中,head表示當前版本,也就是e620a6ff0940a8dff…,head^表示上乙個版本,head^^表示上上乙個版本,往上100個版本可以寫成head加連續100個^,也可以寫成:head~100。
git log:該命令顯示從最近到最遠的提交日誌。
commit e620a6ff0940a8dff91e0d252f30e4d138ec37be
author: tangshengqin <[email protected]>
date: wed jan 3 10:35:44 2018 +0800
練習版本回退,假設這是版本3
commit 33342d9870f104719d351539a15e74a1382407ea
author: tangshengqin <[email protected]>
date: wed jan 3 10:34:03 2018 +0800
練習版本回退,假設這是版本2
git log - -pretty=oneline:將只會顯示提交的commit id號和對應的注釋。(這裡是兩個-,markdown顯示兩個-為乙個-)
e620a6ff0940a8dff91e0d252f30e4d138ec37be 練習版本回退,假設這是版本3
33342d9870f104719d351539a15e74a1382407ea 練習版本回退,假設這是版本2
......
git reset –hard id 之前的版本日誌資訊:
git log --pretty=oneline
e620a6ff0940a8dff91e0d252f30e4d138ec37be 練習版本回退,假設這是版本3
33342d9870f104719d351539a15e74a1382407ea 練習版本回退,假設這是版本2
git reset –hard commit_id 或則是 git reset –hard head^
git reset --hard head^ # hard選項,表示徹底將工作區、暫存區和版本庫記錄恢復到指定的版本庫
使用git reset –hard 進行版本回退之後,在本地檢視readme.md,裡面已經變為版本2對應的內容了。
如果你在本地做了錯誤提交,那麼回退版本的方法很簡單
1.先用下面命令找到要回退的版本的commit id:
git reflog
2.接著回退版本:
git reset --hard a7e1d279
a7e1d279就是你要回退的版本的commit id的前面幾位。
遠端分支版本回退的方法
如果你的錯誤提交已經推送到自己的遠端分支了,那麼就需要回滾遠端分支了。
1.首先要回退本地分支:
git reflog
git reset --hard obfafd
2.緊接著強制推送到遠端分支:
git push -f origin master ## 這裡假設只有乙個master分支
git本地版本回退與遠端版本回退 回滾
git log 該命令顯示從最近到最遠的提交日誌。commit e620a6ff0940a8dff91e0d252f30e4d138ec37be author tangshengqin 15527733782 163.com date wed jan 3 10 35 44 2018 0800 練習版...
git 遠端版本回退
情景 本地更改推送遠端後,想要回退到自己推送之前的某個版本。比如想回退的分支為 test 分支。風險 遠端回退到某一版本後,之後的所有推送都沒了 對應的日誌記錄也沒了 如果是團隊開發,不僅自己推送的沒了,還包括別人的。兩種方法 a 使用命令 1 檢視日誌,複製想要回退的版本號 在專案目錄中,右鍵 g...
git本地版本回滾與遠端版本回滾
1 檢視git 提交 git log 該命令顯示從最近到最遠的提交日誌。hard選項,表示徹底將工作區 暫存區和版本庫記錄恢復到指定的版本庫 遠端分支版本回退的方法 1.首先要回退本地分支 git reset hard commitid 2 強制推送到遠端分支 git push f origin m...