zoukankan      html  css  js  c++  java
  • 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命令清空本地缓存

  • 相关阅读:
    快速排序
    优先队列
    堆排序
    树、二叉树基础
    分治法
    递归算法详细分析
    算法基础
    Linux文件系统详解
    fs/ext2/inode.c相关函数注释
    块设备的读流程分析
  • 原文地址:https://www.cnblogs.com/ydbk/p/14264297.html
Copyright © 2011-2022 走看看