git 忽略文件
git忽略文件:
git提供了文件忽略系统,当对工作区某个目录或文件设置了忽略后,在执行status查看状态时,被忽略的文件即使存在也不会显示出来。
这样我就可以把那些不需要上传,不需要保留的文件或目录忽略掉(比如一些动态生成的log,或者编译出来的文件等等)。
对于忽略文件,git提供了3种方式(我们组的大神又告诉我了另一种方法)下面来一一介绍一下:
一:.gitignore设置远程共享忽略文件
忽略文件.gitignore使用:
首先可以从文件名看出.gitignore是一个隐藏文件 一般我们默认会把它建立在仓库的根目录(也可以是仓库下的任意目录)
如下:
cd
到根目录;
ls -a
查看所有隐藏文件;
vim .gitignore
创建或编辑.gitignore文件,将需要忽略的文件写在其中;
忽略文件的规则:
*.a 忽略所有以.a为后缀的文件;
!lib.a 不忽略文件lib.a;
/TODO 只忽略此目录下TODO文件,子目录的TODO不被忽略;
build/ 忽略build目录下的所有文件;
doc/*.txt 只忽略doc/下所有的txt文件,但是不忽略doc/subdir/下的txt文件;
小技巧:
- 文件.gitignore可以放在当前仓库中的任何目录中;
- 忽略只对未跟踪文件有效,对于已经加入版本库的文件无效;
- 如果不希望将.gitignore添加到库里,也不希望.gitignore文件带来任何干扰,可以在忽略文件中忽略自己;
二:本地独享
上面设置的.gitignore通常都会上传到远端的版本库中,所以它是“共享式”的,而在有的情况下我们需要有一个自己“独享式”的本地忽略文件。
具体版本库:
在该版本库.git/info/exclude
来设置文件忽略,或者也可以使用.gitignore文件来忽略自己可以达到同样效果
全局版本库:
全局忽略是指忽略本地中所有的版本库。
通过设置git config:
$ git config --global core.excludefile /dean/.gitignore_global
/dean/.gitignore_global 是一个自定义的忽略文件,这个文件的目录、名字和里面的内容都按不同需求任意设定。
大神告诉的一个方法:
进入到本机的.config/git中,里面有一个ignore文件。
我们在这个文件中加上想要忽略的就可以起到全局忽略的效果。
可以使用如下命令很方便: vim .config/git/ignore