idea中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

Reset Type 有三种:

mixed 默认方式,只保留源码,回退commit和index信息
soft 回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit
hard 彻底回退,本地源码也会变成上一个版本内容

此时我们选择Hard彻底回退,点击Reset就能将本地代码版本回滚到指定版本。

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


————————————————
版权声明:本文为CSDN博主「gomeplus」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gomeplus/article/details/78241070

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值