工做中遇到git遠程倉庫須要回退到歷史版本的問題,根據網上的搜索結果結合本身的實踐,整理了以下步驟:git
1. 在「Show History」中找到當前版本(取名:newVersion)和想要回退到的版本(oldVersion)spa
2. 選擇newVersion和oldVersion點擊「Copy Revision Number」複製兩個版本的版本號: .net
newVersion:2746f428a3d3d000bd1b0e886ef8167e1f73ec9c
oldVersion :6bc5691cbe7304cb185b70fbc0dd975c7de86e8a 3d
3. 右擊項目依次選中:Git->Repository->Reset HEAD blog
4. 選中Reset Type:*Hard, To Commit:6bc5691cbe7304cb185b70fbc0dd975c7de86e8a;而後點擊Reset按鈕* it
5. 這時本地代碼已經回退到oldVersion,這時候若是直接push到遠程倉庫,會提示版本衝突,點擊「cancel」取消。 io
6. 下面有兩種解決衝突的方法 搜索
方法一 :不解決,直接強制提交:
a. 打開Terminal,切換到項目所在目錄
b. 執行:git push -f方法
方法二:
a. 右擊項目依次選中:Git->Repository->Reset HEAD
b. 選中Reset Type:Mixed, To Commit:2746f428a3d3d000bd1b0e886ef8167e1f73ec9c;而後點擊Reset按鈕im
c. 這時你會發現,最新版本有回到newVersion。可是代碼仍是oldVersion的代碼,這時候重push到遠程倉庫就不會版本衝突了
兩種方法對比:
方法一會將回退的提交記錄抹掉
方法二會保留提交記錄--------------------- 原文:https://blog.csdn.net/gomeplus/article/details/78241070