zoukankan      html  css  js  c++  java
  • git的回滚与撤销【reset and revert】

    git的工作流程-- 3个区域

      工作区:我们可以看到的文件内容  在操作 git add 之前的!!

      缓存区:是不可见的   已经git add操作,还没git commit -m “”操作

      历史区:将缓存区中,临时存储的文件,生成历史版本   已经git commit -m

      基本工作流程:

        工作区编辑 ---> 存储缓存区 ---> 历史版本 ---> 上传github

             github ---> 下载工作区进行编辑

    代码回滚

      1、在工作区的代码

        git checkout --文件名  丢弃某个文件

        git checkout --.      丢弃全部

        对之前保存在缓存区里的代码不会有任何影响。对commit提交到本地分支的代码就更没影响了。如果你之前压根都没有缓存或commit,那就是回到你上次pull下来的样子了。

      2、git add到了缓存区,没有git commit -m

        git reset HEAD .

        git reset HEAD 文件夹名

        仅改变缓存区,并不改变工作区。

      3、git commit -m 到本地分支,没有git push 远端

        git log     查看提交的版本信息  版本号

        git reset --hard 版本号  回到想要的版本

        git reset --hard HEAD^  回到最新一次提交

        git reset HEAD^     此时代码保留,回到git add操作之前(表示需要重新add)

      4、git push 把修改提交到了远端仓库

        ①通过 git reset

          git log  查看版本信息  版本号

          git reset --hard 版本号

          git push origin HEAD --force      强制提交一次  之前错误的提交会删除

        ②git revert  用新的 commit 回滚之前的 commit

          git log  查看版本信息  版本号

          git revert 版本号    撤销指定的版本,撤销也会作为一次提交进行保存

        git revert 和git reset 区别

          git revert是用一次 新的commit 来回滚之前的commit,此次提交之前的commit都会被保留;

          git reset是 回到某次提交,提交及之前的commit都会被保留,但是此commit id之后的修改都会被删除

    撤销

      将“本地仓库”的代码还原操作叫做“撤销”!

      1、文件修改,没执行git add

        git checkout 文件名

        git checkout .

      2、同时对多个文件 git add,但想提交部分

        $ git add *

        $ git status

        $ git reset HEAD 文件名    取消缓存

      3、执行了 git add ,想撤回修改

        git reset HEAD 文件名     取消缓存

        git checkout 文件名      撤回修改

      4、行了多次git commit操作,想撤销到其中某次Commit

       git reset [--hard|soft|mixed|merge|keep] [commit|HEAD]

      

        

     
     
  • 相关阅读:
    gulp + es6 + babel+ angular 搭建环境并实现简单的路由
    【SAS BASE】FORMAT Statement及PROC FORMAT
    【SAS BASE】PROC PRINT
    【SAS BASE】PROC SORT
    【SAS BASE】ARRAY语句及多变量简写
    【SAS BASE】SAS函数
    【SAS BASE】PROC CONTENTS与LABEL
    【SAS BASE】SAS格式、缺失值表示、命名规则及路径
    【SAS BASE】IMPORT过程(适用于CSV文件及其他分隔符文件)
    【SAS BASE】通过DATA步导入数据注意事项(适用于text、ASCII、sequential、flat文件)
  • 原文地址:https://www.cnblogs.com/cyp926/p/13499580.html
Copyright © 2011-2022 走看看