zoukankan      html  css  js  c++  java
  • Git的checkout, reset, revert

    不管是修改还是新建文件,都必须通过git add把这次修改从工作区加到暂存区;
    commit只是提交暂存区的修改,还没add到暂存区处于工作区的修改是不会commit的;
     
    git checkout可以将工作区的文件用暂存区的文件去替换掉,用于没commit之前;
     
    git reset —mixed可以将commit到本地仓库的修改记录回滚,并删掉暂存区的文件,但是工作区的修改还在,相当于只修改了文件,没有 add到暂存区,也没有commit到仓库,用于没push之前;
    git reset —soft,只回滚记录,不删掉暂存区的文件;
    git reset —hard,回滚记录,删除暂存,并删除本地修改,相当于全部回滚。
     
                        工作区—>暂存区—>本地仓库
    hard               回滚         回滚         回滚
    mixed             no            回滚         回滚
    soft                 no             no           回滚
    checkout        覆盖          no            no 
     
    git revert用于把远程仓库覆盖本地仓库
     
    reset会删掉之前的记录,revert保留记录,并生成依次新的commit;
     
    revert只会revert针对当前一条记录重新做一次commit,并不会把这个记录之后提交的记录revert;
     
    可以revert revert;
     
    revert某条记录的时候,别人之后提交的记录不会丢,但是别人提交的代码可能被你这次revert给弄丢掉;
     
    不要merge之后revert; 
  • 相关阅读:
    @echo off
    小知识点
    字符串匹配方法
    一般保护错误
    Linux常用压缩与解压缩命令
    opencv__linux__配置
    opencv__配置
    Web开发从零单排之二:在自制电子请帖中添加留言板功能,SAE+PHP+MySql
    Web开发从零单排之一:在新浪云平台SAE上开发一个html5电子喜帖
    WPF中使用ValueConverter来实现“范围条件触发器”
  • 原文地址:https://www.cnblogs.com/mosthink/p/6042438.html
Copyright © 2011-2022 走看看