zoukankan      html  css  js  c++  java
  • git的几种撤销提交方式

    Git的几种状态

    未修改
           原始内容
    已修改    ↓   
           工 作 区
    已暂存    ↓    git add
           暂 存 区
    已提交    ↓    git commit
           本地仓库
    已推送    ↓    git push
           远程仓库
    

    注意:下面所有命令每一个代码段是相互独立的,为了解决一个问题,请不要使用多个代码段。所有命令均经过本人测试,由于测试环境是简单的Git仓库没有过多的数据,可能在复杂环境回出现错误。如发现问题请直接评论区指出。请仔细分析使用情况,丢失数据与本人无关。

    已修改 未暂存

    已经修改了文件,还未进行git add
    即工作区的内容不想要了。

    恢复方法

    使用以下任意命令

    git checkout .
    
    git checkout -- <FILENAME>
    
    git reset --hard
    

    已暂存 未提交

    已经进行了git add,还未进行git commit
    即暂存区的内容不想要了

    恢复方法

    使用以下任意命令

    git reset
    git checkout .
    
    git reset --hard
    
    git reset HEAD
    
    git reset HEAD -- <FILENAME>
    

    已提交 未推送

    已经进行了git commit,还未进行git push

    恢复方法

    使用远程仓库覆盖本地仓库

    git reset --hard origin/master
    

    已推送

    已经进行了git push

    恢复方法

    回滚本地仓库,强制推送覆盖远程仓库

    git reset --hard HEAD^
    git push -f
    

    其他情况

    丢弃某个节点后的全部提交

    即HEAD指针指向该节点

    git reset --hard <COMMITID>
  • 相关阅读:
    Go通过闭包避免程序运行崩溃
    占个坑
    Go多核并行
    一个计划
    python入门:模拟简单用户登录(自写)
    python入门:if、elif、else 条件语句的基本用法
    python入门:if和else的基本用法
    python入门:print打印输出的用法
    python入门:最基本的用户登录
    Python入门:Python基础笔记
  • 原文地址:https://www.cnblogs.com/wangking/p/14142689.html
Copyright © 2011-2022 走看看