使用 .gitignore来忽略某些文件

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-configexcludesfile指定全局忽略文件。
$: git config --global core.excludesfile ~/.gitignore
养成一开始就设置好.gitignore的好习惯,
.gitignore的语法
#为注释行,空行不匹配任何文件,这两个特征可以使.gitignore文件可读性强一些。
通过!取反。
斜杆/结尾的字符,被当做文件夹处理,文件夹下的所有文件将被忽略。
除去以上三种情况,其他时候使用标准的glob模式匹配。


有的时候.gitignore似乎是没有效果,但实际上的问题是,ignore不处理已经add的文件。

 

所以不论怎么修改路径,都是无法将显示的文件移除。

 

http://stackoverflow.com/questions/2545602/git-ignore-sub-folders

 

 

posted @ 2012-09-08 12:29  IAmAProgrammer  阅读(2410)  评论(0编辑  收藏  举报