git本地版本回退與遠端版本回退 回滾

2021-10-05 17:41:05 字數 1775 閱讀 2722

預備知識:

乙個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...