使用 .gitignore来忽略某些文件【转】
转自:http://www.cnblogs.com/shangdawei/archive/2012/09/08/2676493.html
http://blog.csdn.net/richardysteven/article/details/6069418
一般某个项目dev过程中都会产生一些中间文件,这些文件是我们不想要追踪的。 git中可以使用.gitignore文件来忽略这些文件。 在需要的目录下面 添加 .gitignore文件 :
文件中每一行表示需要忽略的文件的正则表达式。
vim .gitignore
$cat .gitignore #ignore .metadata .metadata .gitignore #ignore obj and lib file *.[oa]
当前的目录情况
$ls -al total 24 drwxr-xr-x 4 root root 4096 2010-12-11 12:44 . drwx------ 51 root root 4096 2010-12-11 12:44 .. drwxr-xr-x 8 root root 4096 2010-12-11 12:44 .git -rw-r--r-- 1 root root 39 2010-12-11 12:44 .gitignore drwxr-xr-x 3 root root 4096 2010-08-19 20:01 .metadata -rw-r--r-- 1 root root 52 2010-12-11 12:41 test.txt 如果没有添加该文件,git status会报有这些文件没有track。
$git status # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # .metadata/ # gitignore 而 添加了该文件后,就可以看到,这个workspace 就是干净的了。
$mv gitignore .gitignore [root@~/workspace]
$git status # On branch master nothing to commit (working directory clean) 这个.gitignore很简单,当前目录下有个.metadata,这个是我们不需要的,所以就写入了文件。
另外如果不加.gitignore这行,git会把.gitignore也加入版本控制中。
简介
忽略文件默认为当前目录的.gitignore
。
也可以通过修改全局配置git-config的excludesfile
指定全局忽略文件。
$: git config --global core.excludesfile ~/.gitignore
养成一开始就设置好.gitignore
的好习惯,
.gitignore的语法
#
为注释行,空行不匹配任何文件,这两个特征可以使.gitignore
文件可读性强一些。
通过!
取反。
斜杆/
结尾的字符,被当做文件夹处理,文件夹下的所有文件将被忽略。
除去以上三种情况,其他时候使用标准的glob模式匹配。
有的时候.gitignore似乎是没有效果,但实际上的问题是,ignore不处理已经add的文件。
所以不论怎么修改路径,都是无法将显示的文件移除。
http://stackoverflow.com/questions/2545602/git-ignore-sub-folders
Permalink http://www.shrekwang.com/bbs/a/436005
【作者】sky
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.