git 怎么回退已经push的版本_git如何撤销已经push到远端的代码

本文介绍了如何使用gitlog查看历史记录,以及如何通过gitreset进行版本回退,包括--soft和--hard参数的区别。在回退后,讨论了如何处理其他开发者拉取最新代码时遇到的问题,提出了使用gitrevert或删除分支的解决方案。同时,讲解了删除远程和本地分支的步骤。
摘要由CSDN通过智能技术生成

1、首先用 git log 命令查看历史记录(在实际使用当中,由于自己新建的分支上只有自己提交的问题,也可以采用暴力直接删除远程分支的方式解决问题)

2cbd4c3b468cd90500054534da576798.png

2、假设要回退到上一版本,版本号应是Fri Jul 12 11:07:01 2019时间的19462f6f46cf4cbc211d366359afac0c17a7c190

git reset --soft 19462f6f46cf4cbc211d366359afac0c17a7c190

// 注意 --hard 参数会抛弃当前工作区的修改

// 使用 --soft 参数的话会回退到之前的版本,但是保留当前工作区的修改,可以重新提交

3、提交回退,git push origin step5/test --force

这样就回退成功了,但是有人会发现,另一个同样的工程pull拉取最新代码的时候,不能拉取最新代码。这是因为有问题的工程的版本和未回退前的版本是一样的,现在回退了也就是版本降低了,pull是不可能从高版本降到低版本的。如果是这样,可以用 git branch -D step5/test 来删除本地分支,或是删除文件夹,重新下载。

当然要解决这个问题,还可以用 git revert的作用通过反做创建一个新的版本,这个版本的内容与我们要回退到的目标版本一样,但是HEAD指针是指向这个新生成的版本,而不是目标版本,这样可以保留要回退的版本,如果有其它人 pull 工程就不会取不到最新代码了。

删除远程和本地分支

删除远程分支

1:git branch -a(查看所有的分支)

3:切换其他分支

假设要删除hehe的远程分支,我们需要先把分支切换到master,因为你现在所在的分支就是hehe,在这个分支下,是不能删除它的。

4:删除远程分支git push origin --delete hehe

删除本地分支:

git branch -D step5/test

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值