git的.gitignore的使用
当你在使用
git status
命令的时候你发现git检测到一些你不想让git监测到的文件,比如一些中间件文件,xxx.o xxx.obj tags等文件。如果没有这些文件的干扰,你在做staging的时候非常简单,
git add .
一个点就可以搞定,可是如果有了这些干扰,add就变得很麻烦,你可以通过下面几种方法
- 删掉这些文件或者移动到别的地方,完事后再移动回来
- git add xxx的方式,xxx为你想要staging的文件,一个一个的加
- git add . -p的方式,就是交互式的staging,这样你来决定哪些需要添加,哪些忽略
不管哪种都非常的费劲。这里说下另外一种方式,使用 .gitignore文件,在这个文件里面添加你要git忽略的文件、文件夹。在working tree(工作目录)的任何地方创建一个
.gitignore
文件,里面添加你要忽略的内容,一行代表一个文件、文件夹,#用来注释一样,如
# ignore tag file generated by ctags
tags
这样当再次执行
git status
的时候,tags这个文件就不会被显示出来了(如果是它发生了改变,当然没改变,肯定不会显示出来)。tags只表示当前目录的tags文件,如果是别的目录你需要指定目录。
如:
testmodule/tags
一般在项目中 .gitignore这个文件是项目共享的,也就是 .gitignore这个文件列出了通用的要忽略的文件、文件夹。而如果你有自己的要忽略的文件,你怎么做?当然你也可以在此文件添加,但是问题来了,这样意味着你改了 .gitignore这个文件,那么这个改变就会带到服务器,这个不是我们想要的。也许有人想能不能在 .gitignore中添加忽略自己呢?答案是不能。
那么有其他办法吗?
有。
在 .git/info/exclude文件中添加想要忽略的文件。
这个文件必须放在你的working tree(工作目录)的根文件夹下面。
那有人会问,那这样你不是新加了一个文件吗,那这样git add就会把这个文件也加进去了啊?不是的,这个文件在你执行,
git init
也就是初始化本地仓库的时候就已经存在了,另外你在里面做什么改变,
git status
git add .
这2条命令都会忽略它。
完
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.