工做中遇到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