• Git-02-文件状态的转换


    git三种状态(个人理解:四种)

    工作区的文件:unstaged

    暂存区的文件:staged

    对象区的文件:commited

    (已管理)(在git的目录中,有些文件是没有被git管理的)
    已修改(modified) (存放在工作区,尚未add到暂存区)
    已暂存(staged)          (已add,尚未commit)
    已提交(commited)     (已commit)

    状态的切换

    将某个目录纳入git管理: git  init  (默认master分支)

    工作区   ------>  暂存区

    git add hello.txt

    暂存区  -------> 工作区  (撤销操作)

    git rm --cached  hello.txt   (这是比较旧的命令)

    现在常用的命令:git restore --staged hello.txt

    暂存区  ----->  对象区

    git commit -m "提交说明"    //这个命令会把当前暂存区的文件都提交到对象区

    可以单独提交部分文件

    git commit  a1.txt  -m "只提交a1文件"

    工作区  ----> 对象区 (撤销操作)

    如果某个文件 已提交 ,如a1.txt,但我们对其进行了修改,那么a1txt文件就会处于工作区中,我们可以放弃修改(使其还原到已提交状态)
    git checkout -- a1.txt

    删除文件操作

    1)删除已提交的文件:

    在bash命令窗口中执行:

    git rm x   (x为文件名)

    这个命令做了以下事:

    删除之后 文件被放到 暂存区(在暂存区的状态是deleted)

    彻底删除: git commit -m "彻底删除x" (这时会真正删除x文件)
    git rm 后悔:
    1.恢复到工作区git reset HEAD x

    2.git checkout -- x

    或者:

    1. git restore --staged a.txt

    2. git restore a.txt

    操作系统删除

    rm a.txt

    这时要后悔:git restore a.txt

    如果要彻底删除,还是要git rm a.txt,然后git commit -m "彻底删除a.txt"

    2)删除在暂存区的文件

    git rm b.txt

    这时会出现错误,删除失败,需要使用-f参数才能删除成功

    git rm -f b.txt

    这时用git status查看状态,会发现b.txt不在任何一个区域中,故删除在暂存区的文件是无法后悔的。

    注释重写(重写提交说明)
    正规 : git commit --amend -m '修正'


    忽略文件:.gitignore


    通配符 :
    *任意字符

    *.properties  //忽略所以以.properties为后缀的文件

    !b.properties //不忽略b.properties文件

    dir/:  //忽略dir目录中的所有文件  

    dir/*.txt  //忽略dir目录中的所有以.txt为后缀的文件  

    dir/*/*.txt :   //能够忽略 dir/abc/a.txt dir/xyz/a.txt ,不能忽略 dir/xyz/123/a.txt
    dir/**/*.txt :   //忽略dir子目录的任意任意级别目录下的txt文件

    总结

    其实若不清楚下一步要如何做,可以使用git status来查看状态,里面会有提示

  • 相关阅读:
    【转载】opencvVS2019配置方法
    windows.h头文件中改变光标位置的函数——SetConsoleCursorPosition
    五行代码解决猴子选大王问题
    AtCoder Beginner Contest 192
    ACM做题注意事项
    数据库部分重点
    数据库7-11章期末复习
    数据库4-6章期末复习
    数据库1-3章期末复习
    ICPC Central Russia Regional Contest (CRRC 19)
  • 原文地址:https://www.cnblogs.com/kenLoong/p/15193135.html
Copyright © 2020-2023  润新知