#git #scala #intellij-idea #sbt
#git #scala #intellij-idea #sbt
Вопрос:
Я создал новый проект Scala / sbt в IntelliJ IDEA 13. Поскольку другие члены команды будут работать над этим проектом (предположительно с другими IDE), что я должен добавить .gitignore
? Кажется, некоторые зависимости проекта определены в .idea
папке, поэтому я не был уверен, смогу ли я поместить весь каталог .gitignore
или нет.
Ответ №1:
РЕДАКТИРОВАТЬ после обнаружения Джо:
Просто попросите Джо позаботиться о вашем .gitignore
Оригинальный ответ:
Поскольку вы используете Scala, вам следует добавить:
target
*.class
Они могут быть легко сгенерированы и могут зависеть от машины.
Если вы собираетесь использовать IntelliJ, то следующее:
*.iml
*.ipr
*.iws
.idea
out
Папка .idea и файлы .iml создаются и используются только IntelliJ, другие IDE просто игнорируют их. Они могут быть легко сгенерированы IntelliJ, если необходимо, попробуйте удалить вашу папку .idea, а затем откройте проект в IntelliJ и, о чудо, первое, что он делает, это создает папку .idea и ее содержимое.
Для Vim:
tags
.*.swp
.*.swo
Для Eclipse(Scala IDE):
build
.classpath
.project
.settings
org.scala-ide.sdt.core/META-INF/MANIFEST.MF
org.scala-ide.sdt.update-site/site.xml`
Для macOS:
.DS_Store
Я думаю, что это охватывает самые популярные IDE для Scala. Если кто-то использует среду IDE, которая не охвачена, вам придется поискать, какие временные файлы и файлы сборки они создают.
Комментарии:
1. Я использовал плагин gen-idea для sbt. Я не знаю, может ли это сделать больше, чем только IntelliJ.
2. Как мне попросить Джо позаботиться об этом? Инструмент, похоже, не поддерживает IntelliJ Idea.
3. @aa333 Ты имел в виду
joe g jetbrains
? Без g у меня это не работает. Кроме того, joe было довольно сложно настроить, и, похоже, теперь у него есть некоторые проблемы с зависимостью / обратной совместимостью. (Когда я запускаю его, я получаю «устаревшую подпись действия приложения cli … это ошибка в приложении».)4. этот комментарий устарел после недавних изменений в
joe
.joe g jetbrains
это правильная команда с самой последней версией.5. Должен ли я добавить
project
в.gitignore
? Похоже, он автоматически генерируется SBT…
Ответ №2:
Вот что gitignore.io рекомендации для Scala и sbt:
# Created by https://www.gitignore.io/api/sbt,scala
### SBT ###
# Simple Build Tool
# http://www.scala-sbt.org/release/docs/Getting-Started/Directories.html#configuring-version-control
dist/*
target/
lib_managed/
src_managed/
project/boot/
project/plugins/project/
.history
.cache
.lib/
### Scala ###
*.class
*.log
# End of https://www.gitignore.io/api/sbt,scala
Я обычно рекомендую помещать IDE / editor игнорирует, .git/info/exclude
если у вас есть набор редакторов. Это личный файл игнорирования, который не передается в репозиторий.
gitignore.у io тоже есть предложения для IDE и редакторов:
Комментарии:
1. Интересно
project/boot/
, для чего нужен sbt? Когда он создается?2. @JacekLaskowski, я не уверен. У меня есть только опыт работы со Scala. Но GitHub рекомендует точно то же самое (я думаю, что именно там gitignore.io получает свои игнорируемые файлы из).
3. Нашел его в каталоге загрузки : «Например, в следующем используется стиль размещения каталога загрузки до версии 0.11 в project/boot/» . С тех пор его можно просто удалить.
4. Сам IntelliJ рекомендует игнорировать только несколько файлов из каталога .idea: intellij-support.jetbrains.com/hc/en-us/articles /…
5. @Tautvydas, если существует единая среда разработки, возможно , имеет смысл отслеживать определенные файлы IDE. Но если разработчики могут свободно использовать другие инструменты, я настоятельно предпочитаю не отслеживать файлы, специфичные для IDE. Кажется, я не одинок, основываясь на gitignore.io рекомендация в моем ответе.
joe
также рекомендуется игнорировать весь.idea/
каталог, хотя он признает, что некоторые пользователи могут захотеть отслеживать часть его содержимого. В любом случае, это всего лишь руководство. Если вы уверены, что что-то другое лучше подходит для вашего проекта, дерзайте.