Git 的全局ignore配置

当git项目需要过滤某些不希望被git管理的文件的时候,常规的做法是配置当前项目下的.gitignore文件。但是配置在“project/.gitignore文件中的ignore列表需要提交到repository,容易与其他项目开发者造成冲突,所以git提供了另外一种本地配置方法。

案例:
希望过滤掉eclipse项目c:\Users\nevenchen\appl-v6r2013x\路径中的api\.settings文件夹,以及两个文件api\.classpath和api\.project(其他两个同级子mvn模块中有同样的文件及文件夹需要过滤)。


解决方案:
Step1:c:\Users\nevenchen\路径下创建文件.gitignore_global

Step2:编辑c:\Users\nevenchen\.gitconfig
[user]
	name = Neven Chen
	email = [email protected]
[core]
	excludesfile = c:/Users/nevenchen/.gitignore_global

注:
[user]为global的用户信息,之前已经配置过
[core]下面的excludesfile指向了新建的.gitignore_global,注意分隔符为”/".否则git无法识别路径

Step3:编辑c:\Users\nevenchen\.gitignore_global,输入:
.settings/
.project
.classpath

同样需要注意分隔符问题

优点:经过一次配置后基本以后所有其他项目都会自动引用这个全局配置的过滤列表

补充一个新问题

有些时候会发现自己的配置不生效,比如想要ignore a.java,配置后改动该文件依然会记录改动,这是由于该文件之前已经被添加到版本管理库的原因,可以用下面这个命令,把该文件先从cache中删除,该文件不会被删除:
git rm --cached filename

猜你喜欢

转载自nevenchen.iteye.com/blog/1912097