zoukankan      html  css  js  c++  java
  • Git学习02 --暂存区,撤销修改,删除文件

    工作区和暂存区概念:

         工作区(Working Directory)就是你在电脑里能看到的目录。

          版本库(Repository)

            工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

            Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

    前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:

    第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区

    第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支

    Git是如何跟踪修改的:每次修改,如果不add到暂存区,那就不会加入到commit中。

    撤销修改

      

    场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

    场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,git reset HEAD^

    删除文件

    在工作空间中删除了一个文件,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:

    zhangqulideMacBook-Air:git_test zhangquli$ rm b.txt
    zhangqulideMacBook-Air:git_test zhangquli$ git status
    # On branch master
    # Changes not staged for commit:
    #   (use "git add/rm <file>..." to update what will be committed)
    #   (use "git checkout -- <file>..." to discard changes in working directory)
    #
    #	modified:   a.txt
    #	deleted:    b.txt
    #
    no changes added to commit (use "git add" and/or "git commit -a")
    

      现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit

                                   另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:  git checkout -- test.txt

        其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

  • 相关阅读:
    Sum Root to Leaf Numbers
    Sum Root to Leaf Numbers
    Sort Colors
    Partition List
    Binary Tree Inorder Traversal
    Binary Tree Postorder Traversal
    Remove Duplicates from Sorted List II
    Remove Duplicates from Sorted List
    Search a 2D Matrix
    leetcode221
  • 原文地址:https://www.cnblogs.com/zqlmmd/p/5541334.html
Copyright © 2011-2022 走看看