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命令清空本地缓存

  • 相关阅读:
    Entity Framework Code First 学习日记(1)精
    敏捷宣言
    VS2013中web项目中自动生成的ASP.NET Identity代码思考
    ReSharper 配置及用法
    MVC中的Repository模式
    关于Repository模式
    Entity Framework 学习总结之十一:POCO
    Linux Centos7 离线安装docker 【官网翻译和注释】
    企业服务总线ESB
    面向服务的架构SOA
  • 原文地址:https://www.cnblogs.com/ydbk/p/14264297.html
Copyright © 2011-2022 走看看