zoukankan      html  css  js  c++  java
  • GIT 如何删除某个本地的提交

    一、rm后要commit一下才会生效,但这样只是让文件不再出现在今后的版本中,文件副本仍然会在.git/下(这样git才能让误删的文件恢复)。 

    要彻底消灭文件副本,那就要让文件彻底从历史中消失,分两种情况:

    1、如果你的文件添加记录是最近1次,而且没有别的更改,可以简单使用reset --hard commit_id来彻底回溯,然后gc一下再上传就没问题了。

    2、如果是在你N次提交以内的某次,而且同时还有别的重要提交,那最好用rebase合并一下这几次提交记录(包括rm的commit),然后再gc提交

    二、撤销commit的一些方法

    1、git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息

    2、git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可

    3、git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容

    三、其他一些方法

    1、git revert 是撤销某次操作,此次操作之前的commit都会被保留
     
    2、git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区
     

    3、git reset --hard HEAD~1

     

     

     

     

    4、git revert HEAD

  • 相关阅读:
    python并发之concurrent.futures
    全局解释器锁--GIL
    ASP 注释
    ASPxGridView 下拉框不让输入
    leftjoin及多个leftjoin执行顺序
    视图view没有主键,但可以添加唯一索引
    ASPxGridView KeyFieldName
    联合主键
    AspxGridView使用教程
    ASP Session 对象
  • 原文地址:https://www.cnblogs.com/slu182/p/4568227.html
Copyright © 2011-2022 走看看