Подтвердить что ты не робот

Какие файлы в папке .idea следует отслеживать с помощью Git?

В отличие от Netbeans, в IDE Jetbrains файлы настроек, связанные с пользователем и командой, смешиваются в одной папке, что делает ее сложной задачей, когда вам нужно нажать их на git.

Существует ряд примеров git ignore для этих IDE и https://intellij-support.jetbrains.com/hc/articles/206544839 страницы на сайте git.

Однако после использования их в течение нескольких месяцев мы выясняем, что это безопаснее и на самом деле более удобно делать обратное. Я имею в виду игнорировать все файлы .idea и явно добавлять только связанные с командой настройки. (вместо добавления всех и игнорирования некоторых).

Главное, что можно разделить между разработчиками, это конфигурации стиля кода. Таким образом, используя вариант автоматической переформатировки IDE, вся команда будет придерживаться последовательного стиля.

Кроме того, вопрос заключается в том, какие другие файлы возобновляются, чтобы быть включенными, не игнорировались? Зачем?

Ответ: Я придумал это: https://github.com/salarmehr/idea-gitignore

4b9b3361

Ответ 1

После некоторого расследования я придумал следующий .idea/.gitignore:

# ignore all .idea files ...
*
# except  ...

# Version Control configuration
!vcs.xml

# how IDEA should treat the text files
!encodings.xml

# automatic code formatting
!codeStyleSettings.xml

# project specific words
!dictionaries

!copyrights
!misc.xml
!sqldialects.xml

Выше файлы должны быть практически одинаковыми для всех членов команды.

Ответ: Я придумал это: https://github.com/salarmehr/idea-gitignore

Ответ 2

Jetbrains имеет некоторые официальные инструкции, по которым файлы не должны быть проверены, и какие файлы, вероятно, не должны быть проверены, в зависимости от вашего использования, В соответствии с этой страницей вы должны проверить все файлы в каталоге .idea, за исключением:

  • workspace.xml
  • tasks.xml

И, возможно, также:

  • xml файлы в подкаталоге dictionary

Хотя конкретный ответ может зависеть от вашей конкретной практики вашей команды, по моему опыту, следуя этому руководству, обычно приводит к правильному разделению пользовательских настроек и общей конфигурации проекта.

Некоторые примеры файлов, которые должны быть разделены, в соответствии с этим руководством:

  • ant.xml, который, если вы используете Ant для создания своего проекта, указывает IDEA на ваши файлы сборки и настраивает свойства, которые следует использовать для сборки.
  • vcs.xml, который указывает конфигурацию управления версиями для вашего проекта
  • encodings.xml, который указывает, как IDEA должен обрабатывать текстовые файлы в вашем проекте.
  • modules.xml, который указывает IDEA на каждый из файлов конфигурации вашего модуля проекта, который также должен использоваться в вашем VCS.
  • все файлы в подкаталоге runConfigurations, которые сообщают IDEA, что ему нужно сделать для запуска вашего приложения
  • codeStyleSettings.xml, который, как вы указали, помещает всю вашу команду на ту же страницу с точки зрения автоматического форматирования кода.

В зависимости от использования вашей команды может быть больше или меньше, но это одни из самых больших примеров.

Ответ 3

Я предпочитаю не проверять файлы .idea или .iml вообще.

  • Если вы хотите поделиться стилями редактора, подумайте об использовании файла .editorconfig, IDE JetBrains теперь поддерживают их.
  • Для других вещей, таких как настройки сборки, вы можете попытаться опираться на свой инструмент сборки, например. используйте maven или gradle файлы сборки для переноса определенных настроек.
  • Очевидно, есть множество других вещей, которые не будут покрыты, но большинство из них могут быть решены хорошо документированными соглашениями.

Ответ 4

Рекомендуется не фиксировать всю папку .idea, поскольку она предназначена для конфигураций. Как файл *.iml.

Если я использую Netbeans вместо Intellij, я не хочу этих файлов конфигурации. Это бесполезно и может быть немного опасно для конфликтов.

Ответ 5

Я использую как IDEA, так и Eclipse, но не Netbeans. Я никогда не беру на себя никаких файлов проекта, но удостоверяюсь, что у меня есть сборка Maven как ведущий инструмент, тогда я могу легко импортировать проект Maven в любую среду IDE с поддержкой Maven, а также обновлять с Maven после ее изменения, Для Eclipse и IDEA это прекрасно работает.

Мой файл .gitignore выглядит так для всех моих проектов:

# Eclipse
.settings/
.classpath
.project

# IntelliJ IDEA
.idea/
*.iml

# Maven
target/

Плюс другие, связанные с проектом файлы или каталоги.