Страницы

Поиск по вопросам

воскресенье, 15 марта 2020 г.

Что должно попадать в коммит?

#java #eclipse #git #gitignore


Я пользуюсь Eclipse и Egit для работы с Git. Каждый раз, когда я делаю коммит, мне
предлагается выбрать из файлов которые нужно закоммитить. Часть файлов уже выбраны,
а часть нет. Из выбранных файлов мне Eclipse обычно предлагает закоммитить все измененные
java файлы а также некоторые class файлы и некоторые другие. Насколько я понимаю class
файлы генерируются автоматически и по идее их коммитить не обязательно так же как и
jar файлы. Но Eclipse мне регулярно предлагает их включать в коммит.

Подскажите как поступать в этом случае? Надо ли включать в коммит файлы с расширением
class, jar и другие? 
    


Ответы

Ответ 1



Если для соответствующего class файла у вас есть java файл, то включать class файл нет никакого смысла. Другое дело, что иногда у Вас есть только class файл, тогда наверное его стоит включить. Аналогично и с jar файлами. Если этот jar - продукт компиляции Вашего кода - нет смысла его включать. Если это сторонняя библиотека - возможно есть, а может проще просто правильно настроить maven/gradle, что бы он сам все умел вытянуть. Что бы git не предлагал включать ненужные файлы, их нужно добавить в список исключений - в файл .gitignore. В целом, в коммиты нужно включать то, что нужно для компиляции. Сторонний человек должен спулить репозиторий, открыть его в эклипсе и просто нажать "скомпилируй".

Ответ 2



Предложенный KoVadim инструмент для генерации .gitignore-файлов gitignore.io предлагает следующий файл для сочетания [java]+[eclipse]: # Created by https://www.gitignore.io ### Java ### *.class # Mobile Tools for Java (J2ME) .mtj.tmp/ # Package Files # *.jar *.war *.ear # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* ### Eclipse ### *.pydevproject .metadata .gradle bin/ tmp/ *.tmp *.bak *.swp *~.nib local.properties .settings/ .loadpath # Eclipse Core .project # External tool builders .externalToolBuilders/ # Locally stored "Eclipse launch configurations" *.launch # CDT-specific .cproject # JDT-specific (Eclipse Java Development Tools) .classpath # PDT-specific .buildpath # sbteclipse plugin .target # TeXlipse plugin .texlipse

Комментариев нет:

Отправить комментарий