目录
情况1 将错误的代码push至远程仓库(结合实际情况 慎用)
情况1 将错误的代码push至远程仓库(结合实际情况 慎用)
已经将代码push至远程仓库的情况
如图【提交测试】上方假设为本人的多次错误提交,此时要回退至提交测试记录
【注意】小心使用!如果期间有人提交代码,会将别人提交的修改一起丢失,故一定要保证无人提交的前提下小心使用!
右击【提交测试】记录 -》copy Revison Number
VCS目录 -》Git -》Reset HEAD
1.Reset Type选择【Hard】
2.to Commit粘贴刚刚复制的Revision Number
3.点击Reset
发现此时idea代码已经回退至【测试提交】记录时候的代码,在把此时的代码提交上去
此时再点击push,发现被拒绝push不了
使用命令强制提交,输入账号密码确认
git push -f
此时可以检查远程仓库的代码,已经将修改去掉了,且错误的提交记录也消失了
【注意】小心使用!如果期间有人提交代码,会将别人提交的修改一起丢失,故一定要保证无人提交的前提下小心使用!
情况2 将错误的代码commit至本地仓库
commit至本地仓库但未push至远程仓库的情况
1.先使用git log查看本地仓库的日志
其中1为我们最新的commit,2为修改后,未提交前时候情况,可以理解为,1的修改,是基于2的修改后提交生成的新纪录,所以我们需要回退至2,也就是未提交但修改后的阶段
复制2的id
2.执行命令git reset id(刚刚复制的id)
发现此时文件名变蓝色,已经回退至我们修改文件但未commit的阶段
commit界面恢复至commit前,文件修改的列表
到此commit回退成功