如何忽略Git上的IDE设置?

时间:2014-07-05 05:27:47

标签: eclipse git

我有以下Git信息,我想忽略我的IDE(Eclipse)的设置。

modified:   myproject/.classpath
modified:   myproject/.project
modified:   myproject/.settings/com.google.gdt.eclipse.core.prefs
modified:   myproject/.settings/org.eclipse.core.resources.prefs
modified:   myproject/.settings/org.eclipse.jdt.core.prefs
modified:   myproject/.settings/org.eclipse.wst.common.component
modified:   myproject/.settings/org.eclipse.wst.common.project.facet.core.xml
modified:   myproject/.settings/org.eclipse.wst.validation.prefs

我在.gitignore文件中尝试了以下语句,但它不适用于这些设置:

.project
.classpath
.settings
*.project
*.classpath
*.settings
/.project
/.classpath
/.settings
.project/
.classpath/
.settings/
*.project/
*.classpath/
*.settings/

我正在使用Mac OS X,我还使用这些设置git config --global core.excludesfile '~/.gitignore'添加了全局gitignore文件,但是当我查看git status时,我仍然收到上述Git更新消息。我错了什么?

2 个答案:

答案 0 :(得分:18)

如果这些元素已经提交,则需要先删除它们:

git rm --cached .project
git rm --cached .classpath
git rm --cached -r .settings

--cached选项允许他们留在工作树中,同时记录删除 删除后,它们将被忽略。

提交后,下一个更改将被忽略。

.gitignore文件夹中的简单myproject/就足够了:

.project
.classpath
.settings/

请注意/文件夹的.setting:这将忽略其中的所有内容。

答案 1 :(得分:2)

以下是我对java web项目的.gitignore配置:

*.class
*.swp
*.cache
*~

bin/**/*
target/**/*
build/**/*
gen/**/*

# tmp source folder
tmp/**/*


# js plugin
WebContent/js_plugin/lib/**/*

在git 1.8.2 之后,如果要忽略任何文件夹或子文件夹中名为 abc 的文件夹,请使用以下命令:

**/abc/**/*

所以,我建议你升级你的git,如果它太旧了。

顺便说一句,在我看来,如果团队使用相同的IDE,你应该将.classpath的东西同步到git,因为这是基于你有约定你的jdk / tomcat / ...之类的东西这个。所以,一旦通过maven添加一个罐子,所有人都会在拉动后得到它 但是,如果您提交eclipse配置,则在推送时,确保更改有用,如果没有,请不要提交,例如, 2源文件夹只是改变他们的行顺序,在这种情况下你可以git checkout - xxx,忽略那个改变,这样就不会影响其他人了。