zoukankan      html  css  js  c++  java
  • 8.Git撤销修改

    有一个文件内容如下:
        $ cat README.md
        the first ...
        the second ...
        the third ...
    

    - 文件自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态.

    1.删除最后一行内容:`the third ...`
    	$ vi README.md
    	
    	$ cat README.md
        the first ...
        the second ...
    
    2.执行命令`git status`
    $ git status
    On branch dev
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
            modified:   README.md
    no changes added to commit (use "git add" and/or "git commit -a")
    
    3.通过上面结果,可以发现,Git会告诉我们,git checkout -- file可以丢弃工作区的修改
    	$ git checkout -- README.md
    
    4.执行命令`README.md`查看恢复后文件内容
        $ cat README.md
        the first ...
        the second ...
        the third ...
    

    - 文件已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态.

    1.删除最后一行内容:`the third ...`
    	$ vi README.md
    	
    	$ cat README.md
        the first ...
        the second ...
    
    2.执行命令`git add`添加到缓存区
    	$ git add README.md
    
    3.执行命令`git status`
        $ git status
        On branch dev
        Changes to be committed:
          (use "git reset HEAD <file>..." to unstage)
                modified:   README.md
    
    4.执行命令`git reset HEAD README.md`
        $ git reset HEAD README.md
        Unstaged changes after reset:
        M       README.md
    
    5.执行命令`git status`
    $ git status
    On branch dev
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
            modified:   README.md
    no changes added to commit (use "git add" and/or "git commit -a")
    
    6.通过上面结果,可以发现,Git会告诉我们,git checkout -- file可以丢弃工作区的修改
    	$ git checkout -- README.md
    
    7.执行命令`cat README.md`查看恢复后文件内容
        $ cat README.md
        the first ...
        the second ...
        the third ...
    
    总结:
    git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令,我们在后面的分支管理中会再次遇到git checkout命令.
    
  • 相关阅读:
    【LeetCode-位运算】位1的个数
    【LeetCode-数组】调整数组顺序使奇数位于偶数前面
    mySQL数据库中.frm和.myi和.myd和.ibd文件是什么文件?
    安装docker-compose的两种方式
    将第三方jar包 安装到 maven仓库
    limit分页查询
    pom.xml配置指定仓库
    linux常用命令
    正则笔记
    使用conda创建虚拟环境
  • 原文地址:https://www.cnblogs.com/apollo1616/p/10440130.html
Copyright © 2011-2022 走看看