1. 程式人生 > >git 版本回退

git 版本回退

工作中遇到git遠端倉庫需要回退到歷史版本的問題,根據網上的搜尋結果結合自己的實踐,整理了如下步驟:

1. 在“Show History”中找到當前版本(取名:newVersion)和想要回退到的版本(oldVersion)
ShowHistory

2. 選擇newVersion和oldVersion點選“Copy Revision Number”複製兩個版本的版本號:
newVersion:2746f428a3d3d000bd1b0e886ef8167e1f73ec9c
oldVersion :6bc5691cbe7304cb185b70fbc0dd975c7de86e8a
Copy Revision Number

3. 右擊專案依次選中:Git->Repository->Reset HEAD


Reset HEAD

4. 選中Reset Type:*Hard, To Commit:6bc5691cbe7304cb185b70fbc0dd975c7de86e8a;然後點選Reset按鈕*
hardReset

5. 這時原生代碼已經回退到oldVersion,這時候如果直接push到遠端倉庫,會提示版本衝突,點選“cancel”取消。
push

pushRejected

6. 下面有兩種解決衝突的方法
方法一 :不解決,直接強制提交:
a. 開啟Terminal,切換到專案所在目錄
b. 執行:spring-mvc $git push -f
terminal

方法二:
a. 右擊專案依次選中:Git->Repository->Reset HEAD
b. 選中Reset Type:Mixed,

To Commit:2746f428a3d3d000bd1b0e886ef8167e1f73ec9c;然後點選Reset按鈕
mixedReset
c. 這時你會發現,最新版本有回到newVersion。但是程式碼還是oldVersion的程式碼,這時候重push到遠端倉庫就不會版本衝突了
7. 方法一vs方法二
方法一會將回退的提交記錄抹點,而方法二會保留
8. Done