文章目录
一、问题描述
IDEA中当直接回溯版本的时候,导致回溯版本之后的提交信息丢失而且push到远程仓库被拒绝的情况。
1.查看历史版本
2.直接重置为想要的版本
3.出现的问题
二、解决方案
1.首先记录当前版本号和需要回溯的版本号
当前版本号:0b9dabdabe3370486cfdd1dc21fc9a04bc6ac3ef
回溯版本号:7704be7befb2651a64186d4a15db0dcd11520fcd
2.然后选择项目右键git->ResetCurrent Branch to Here(重置HEAD)
第一次重置这里一定要填入回溯版本号,类型为hard(硬)
3.回溯到第一个版本之后再次选择重置HEAD
第二次重置类型选择为remix,填入开始记录的当前版本号
4.然后就可以提交以及推送
5.成功提交和推送到远程仓库并且有日志记录。
hard移动本地库HEAD指针,重置暂存区,重置工作区。
mixed移动本地库HEAD指针,重置暂存区回滚后,不仅移动了本地库的指针,同时暂存区的东西也没了,上次添加到暂存区的文件没了。
所以我个人认为(猜测,实际原因不解)如果单独只执行HEAD重置了工作区和暂存区,而回溯到的这个版本暂存区是有内容的,所以还需要与之前的版本工作区进行一次混合对比多的或者少的文件,而且之前记录的当前版本才有回溯版本之前的日志。(可以在HEAD之后强制push到远程仓库,但是这样会丢失日志记录)
版权归原作者 宁愿一生都不说话 所有, 如有侵权,请联系我们删除。