it-swarm.com.ru

Какие файлы проектов NetBeans должны входить в систему контроля версий?

Обычно мы используем Eclipse для конкретного Java-проекта, но недавно я импортировал проект в NetBeans, чтобы использовать его возможности построения диалогов.

Поскольку я, вероятно, вернусь к этому, я хотел сохранить файлы проекта NetBeans в системе управления версиями. Однако я не хочу фиксировать файлы, которые являются «моими» по сравнению с «проектом», то есть файлами с моими собственными настройками, которые будут конфликтовать с другим пользователем.

NetBeans создал следующую структуру в области проекта верхнего уровня:

nbbuild
nb-build.xml
nbproject
    <various files>
    configs
    private

Ясно, что nbbuild - это вывод сборки, поэтому он не будет входить. Файл nb-build.xml, как и большая часть nbproject, выглядит вероятным. Тем не менее, nbproject/private предполагает, что это "мое". Заглядывая в "конфиги", мне не ясно, мой это или проект ...

У кого-нибудь есть рекомендации?

51
Peter Cardona

В статье базы знаний NetBeans о файлах проекта и управлении версиями рассматриваются файлы проекта NetBeans, а также дается свободный совет о том, какие файлы относятся к конкретному проекту (т. Е. Могут использоваться совместно с контролем версий), а какие - к пользователю.

Вот раздел о контроле версий:

Если проект извлечен из системы управления версиями, папки build (или nbbuild), dist (или nbdist) и nbproject/private не должны проверяться в этой системе контроля версий.

Если проект находится в системах управления версиями CVS, Subversion или Mercurial, соответствующие файлы «игнорировать» создаются или обновляются для этих каталогов при импорте проекта.

Хотя nbproject/private следует игнорировать, nbproject должен быть зарегистрирован в системе контроля версий. nbproject содержит метаданные проекта, которые позволяют другим пользователям открывать проект в NetBeans без предварительного импорта проекта.

53
Peter Cardona

Оказывается, и Томас, и Петеркардона в некотором смысле правы. NetBeans рекомендует импортировать только исходный код и/или документацию. Да, и папка nbproject, но не папки * nbproject/private **.

Из статья базы знаний NetBeans об импорте проектов Eclipse :

Особенности управления версиями

Если проект извлечен из система контроля версий, сборка (или nbbuild), dist (или nbdist) и Папки nbproject/private не должны регистрироваться в этом контроле версий система.

Если проект находится под CVS, Subversion, или Mercurial версия Системы управления, соответствующие "игнорировать" файлы созданы или обновлены для этих каталогов, когда проект импортируется.

Хотя nbproject/private должно быть игнорируется, nbproject должен быть проверен в систему контроля версий . nbproject содержит метаданные проекта, которые позволяют другим пользователям открывать проект в NetBeans без необходимости импортируйте проект первым.

19
Richard Hurt

Как было протестировано с Netbeans 6.8, через репозиторий должны распространяться только project.xml, configurations.xml и основной make-файл (настраиваемый в родительском dir 'nbproject' dir с определениями цели pre/post). Все остальные файлы будут автоматически (повторно) сгенерированы Netbeans (Makefile-impl.ml, Makefile-variables.ml, все Makefile-$CONF, Package-$CONF.bash). Очевидно, что «приватный» каталог также следует игнорировать.

2
Johan Boulé

Никто.

Только исходные файлы, сценарии сборки и документация, которые не генерируются автоматически (например, вывод таких инструментов, как JavaDoc и Doxygen), должны быть проверены в хранилище. Такие вещи, как файлы проекта, двоичные файлы и сгенерированная документация не должны регистрироваться.

Причина двоякая. Во-первых, вы не хотите перезаписывать настройки проекта другого разработчика своими собственными. Во-вторых, другие разработчики могут не использовать тот же IDE, что и вы (или даже IDE), поэтому не давайте им больше, чем нужно для сборки (проект или связанная с ним документация). ) или запустите проект.

2
Thomas Owens

Вы также можете проверить
https://github.com/github/gitignore/blob/master/Global/NetBeans.gitignore

Этот проект с открытым исходным кодом содержит
Коллекция полезных шаблонов .gitignore

0
ahmednabil88