解决git误提交到远程仓库

1、问题描述:在本地修改完代码后,合并到master分支,然后推送到远程仓库。推送完了后发现本次提交有问题,想将远程库退回到上次提交之前的版本。

 

2、问题解决思路:首先将本地仓库的版本回退到上次提交之前的版本(但要保留上次提交时修改的代码),然后在强制推送到远程仓库,将远程库的版本也回退。

 

3、解决问题:

         1.查看本地历史推送版本

               git log

image.png

       2.根据版本号回退到上次提交之前的版本

               git reset --soft <版本号> 例:git reset --soft ba454ea89b9ae77a7fe0d98579cbe67866651868

               注意:   

                       git reset --soft <版本号>:仅仅是当前版本变化了,新写的代码并不会消失。只需要重新提交就行了。

                       git reset --hard <版本号>:不仅仅是当前版本回退了,项目内容也会回退到上次提交之前的版本(你写的代码已经没了)。

         3.将本地仓库当前版本强制推送到远程仓库,实现远程库的回退,选择好你要提交(修改)的分支

                      git push origin <分支名称> --force 例:git push origin master --force

4、完成

如此之后,远程库就恢复了上次提交之前的版本,本地虽然也回到了上次提交之前的版本,但是修改的代码仍然存在,只是处于为提交的状态,使用git status查看当前仓库状态可以看到。此时再次使用git log命令会发现,上次提交的记录没有了,其实上次提交的记录并没有消失,只是git log命令看不到了,使用git reflog命令就可以看见。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值