文件4种状态
版本控制就是对文件的版本控制,要对文件进行修改,提交等操作,首先要知道文件当前在什么状态,
不然可能提交了现在还不想提交的文件,后者要提交的没提交上。
··Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制,通过git add状态变为staged
··Unmodify:文件已入库,未修改,即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处,
如果它被修改,而变为Modified。如果使用git rm移除版本库,则成为Untracked文件
··Modified:文件已修改,仅仅是修改,并没有进行其他操作,这个文件也有两个去处,通过git add可以进入暂存staged
状态,使用 git checkout则丢弃修改过,返回到Unmodify状态,这个git checkout即从库中取出文件,覆盖当前修改。
··Staged:暂存状态,执行git commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify状态
执行git resert HEAD filename取消暂存,文件状态为Modified
查看文件状态
上面说文件有4中状态,通过如下命令可以查看到文件状态:
查看指定文件状态
git status [filename]
查看所有文件
git status
以上是进行了一次添加和提交,三次查看文件状态
忽略文件
有些时候我们不想把某些文件纳入版本控制之中,比如数据库文件,临时文件,设计文件等。
在主目录下建立" .gitignore"文件,此文件有如下规则:
1.忽略文件中的空行或以井号(#)开始的行
2.可以使用LInux通配符,例如:星号(*)代表任意多个字符,问好( ? )代表一个字符,放括号
([ ])代表可选字符范围,大括号({ })代表可选字符串等
3.如果名称的最前面有一个感叹号( ! ),代表例外规则,将不被忽略
4.如果名称的最前面是一个路径分隔符( / ),表示要忽略的文件在此目录下,而子目录中的文件不忽略
5.如果名称的最后面是一个路径分隔符( / ),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)
标签:文件,git,状态,版本控制,忽略,修改,Git,操作 From: https://www.cnblogs.com/zhulei118/p/16970061.html