git如何撤销已经push到远端的代码

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

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

  1. git reset --soft 19462f6f46cf4cbc211d366359afac0c17a7c190
  2. // 注意 --hard 参数会抛弃当前工作区的修改
  3.  // 使用 --soft 参数的话会回退到之前的版本,但是保留当前工作区的修改,可以重新提交

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

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

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

删除远程和本地分支

 

删除远程分支

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

2:有remotes/origin开头的就是远程分支。

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

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

删除本地分支:

git branch -D step5/test 

5:删除后可以使用git gc --prune=now命令清空本地缓存

posted on 2021-01-11 20:44  铭烟  阅读(7898)  评论(0编辑  收藏  举报