Как игнорировать настройки IDE на 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, и я также добавил глобальный файл gitignore с этими настройками git config --global core.excludesfile '~/.gitignore'
, но я все еще получаю вышеуказанные сообщения об обновлении Git, когда проверяю git status
, Что я не прав?
3 ответа
Если эти элементы уже зафиксированы, вам нужно сначала удалить их:
git rm --cached .project
git rm --cached .classpath
git rm --cached -r .settings
--cached
опция позволяет им оставаться в рабочем дереве, пока они записываются для удаления.
После удаления они будут игнорироваться.
После внесения изменений следующие изменения будут игнорироваться.
Просто .gitignore
в myproject/
папки достаточно:
.project
.classpath
.settings/
Обратите внимание /
за .setting
папка: это будет игнорировать все в нем.
Вот мой конфиг.gitignore для веб-проекта Java:
*.class
*.swp
*.cache
*~
bin/**/*
target/**/*
build/**/*
gen/**/*
# tmp source folder
tmp/**/*
# js plugin
WebContent/js_plugin/lib/**/*
После git 1.8.2, если вы хотите игнорировать папку с именем abc в любой папке или подпапке, используйте следующее:
**/abc/**/*
Итак, я предлагаю вам обновить свой мерзавец, если он слишком стар.
Кстати, по моему мнению, если команда использует ту же IDE, вы должны синхронизировать вещи.classpath с git, потому что это основано на том, что у вас есть соглашение называть ваши jdk / tomcat / ... такие вещи. Так что, как только банку добавляют через maven, все люди получают ее после извлечения.
Но, если вы фиксируете eclipse config, когда нажимаете, убедитесь, что изменения полезны, если нет, не фиксируйте, например, 2 исходные папки просто меняют свои порядки строк, в этом случае вы можете использовать git checkout - xxx, чтобы игнорировать это изменить, так что это не повлияет на других людей.
У меня это сработало, да, но удаление файлов из кеша было бы полезнее.
#IDE files .gradle .idea idea-module-files *.iml com.springsource.sts.config.flow.prefs org.sonar.ide.eclipse.core.prefs
org.springframework.ide.eclipse.beans.core.prefsorg.springframework.ide.eclipse.core.prefs.springBeanseclipsebinorg.eclipse.jdt.core.prefsorg.eclipse.jdt.ui.prefs
NPM-пакеты
**/node_modules
Скомпилированный файл класса
*.учебный класс
Тестовые классы
**/тестовые классы