使用 .gitignore来忽略某些文件【转】

时间:2023-03-09 06:54:40
使用 .gitignore来忽略某些文件【转】
转自:http://www.cnblogs.com/shangdawei/archive/2012/09/08/2676493.htmlhttp://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://*.com/questions/2545602/git-ignore-sub-folders

Permalink http://www.shrekwang.com/bbs/a/436005