我是靠谱客的博主 平淡背包,最近开发中收集的这篇文章主要介绍记录一次idea中回退已经合并到master分支并且将master主干push到远程回退操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

上线代码由于11.11大促临时决定延期上线,但是已经合并到master并且push到远程,所以需要回退以确保origin/master分支为线上版本

相关文档参考: intellij idea2017中git远程版本回退 :https://blog.csdn.net/liu_yulong/article/details/79491516

使用其中步骤:

工作中遇到git远程仓库需要回退到历史版本的问题,根据网上的搜索结果结合自己的实践,整理了如下步骤:

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

ShowHistory
2. 选择newVersion和oldVersion点击“Copy Revision Number”复制两个版本的版本号: 
newVersion:2746f428a3d3d000bd1b0e886ef8167e1f73ec9c  
oldVersion :6bc5691cbe7304cb185b70fbc0dd975c7de86e8a 

ShowHistory
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
--------------------- 
 

总结:

1:刚开始使用上述作者方法2回退,但是由于合并后将master代码push到远程后,再次合并其他分支代码时,通过idea中默认插件合并时,合并不到其他分支原有下次上线需要的代码,

2:所以使用方法二自己实践有问题,所以转用使用方法一操作,方法一操作完成后,合并其他分支时,可以合并到原来下次上线相关代码,

注意:注意:注意:如果要回退master代码时,一定要在origin/master分支新建新的分支,操作完成无误后,再在主干master分支操作,操作master分支代码一定要严谨操作

回退后的版本信息:

回退前的版本信息:

仍然可以合并并push到origin/master的分支代码列表:

 

最后

以上就是平淡背包为你收集整理的记录一次idea中回退已经合并到master分支并且将master主干push到远程回退操作的全部内容,希望文章能够帮你解决记录一次idea中回退已经合并到master分支并且将master主干push到远程回退操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部