如何忽略Git上的IDE设置?

我有下面的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,并且还使用这些设置添加了全局gitignore文件git config --global core.excludesfile '~/.gitignore' ,但是当我检查git status时,仍然收到上面的Git更新消息。 我错了什么?


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

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

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

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

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

.project
.classpath
.settings/

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


以下是我的一个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添加了一个jar,所有人都会在拉动之后得到它。
但是,如果你提交eclipse配置,当推送时,确保更改是有用的,如果不是,不要提交,例如2源文件夹只是改变他们的命令行,在这种情况下,你可以通过git checkout-xxx忽略改变,这样就不会影响其他人。

链接地址: http://www.djcxy.com/p/6175.html

上一篇: How to ignore IDE settings on Git?

下一篇: Does `git reset HEAD file` also check out the file?