Что я должен добавить кроме очевидного (src, dist) к моей системе управления версиями от каталога проекта NetBeans Java? Я могу отбросить весь каталог сборки? Я должен добавить nbproject каталог, поскольку я работаю над тем же проектом на другой машине также?
Я хотел бы отбросить, по крайней мере, каталог сборки, потому что каждый раз, когда приложение не компилирует, я получаю проблемы с мерзавцем, поскольку существует тонна пропавших без вести файлов, которых мерзавец рассматривает как удаляемый.
Примечание: этот ответ относится к NB 6.8 (это то, что я использую прямо сейчас) и, вероятно, также относится к большинству версий 6.x, которые, вероятно, будут доступны в дикой природе.
Краткий ответ: используйте пункт меню «Импортировать в репозиторий», чтобы выполнить начальную проверку. IDE проверит то, что сочтет необходимым.
Это немного сложно найти. Выберите свой проект в проводнике проектов. Откройте меню «Команда» в строке меню. После того, как вы щелкните по нему, вы увидите что-то вроде:
Kenai>
------
CVS>
Mercurial>
Subversion>
______
Элемент «Импорт в» является подпунктом CVS / Mergcurial / Subversion.
Если вы намерены выполнить регистрацию «вручную», вот список того, что IDE обычно помещает в репозиторий:
Некоторое время назад аналогичный вопрос задавался по поводу Eclipse, и хотя некоторые особенности IDE могут отличаться, принцип того, что помещать в систему контроля версий, тот же.
В основном, все, что вы не генерируете.
Исключением могут быть зависимые банки. Включать их или нет, зависит от того, есть ли у вас общее расположение библиотек, на которые могут ссылаться другие, или нет. По привычке я всегда имел окружения с общим расположением, вместо того, чтобы ставить его под контроль для каждого проекта (в конце концов, сколько раз вы захотите хранить log4j и все его версии под контролем исходного кода). Конечно, теперь мы используем для этого maven, так что эта проблема решена (см. мой ответ о Maven и Eclipse в том же вопросе по ссылке выше).
Ваш исходный код, файлы ресурсов (изображения, файлы конфигурации и т.д.) и скрипты сборки (в Netbeans все файлы сборки ant) должны находиться в репозитории.
Не помещайте туда каталог dist/build. Обычно не стоит помещать собранные артефакты (файлы классов, jar проекта и т.д.) в контроль исходных текстов.
Однако совместное использование мета-данных Netbeans может быть удобным при работе над одним и тем же проектом с разных машин.
Вы должны поставить под контроль версий столько, сколько сможете. Версионирование того, что не изменится, имеет нулевую стоимость, а осознание позже, что вы не можете восстановить состояние, которое вам нужно, является фатальным. Хранение очень дешево, текстовые файлы очень малы, большинство SVM хранят дельты, которые предельно малы по размеру и скорости.
Практика Agile также явно включает это. Помимо исходного кода и файлов проекта, рассмотрим скрипты сборки, развертывания, схемы баз данных и макеты, конфигурации, документацию(!), тестовые файлы, зависимые библиотеки, todos, веб-сайт проекта... Конечно, иногда бывает сложно поставить под контроль версий, например, образ виртуальной машины (бинарный), для этого больше подходят обычные снимки. Но если вы когда-нибудь зададите себе вопрос, должен ли я поместить это под контроль версий, ответ почти всегда будет положительным. (Следуя этой практике, также легче принимать решения о версионировании)
.Все необходимое для создания и запуска проекта с нуля.
Не забудьте также добавить свой каталог lib. Я абсолютно НЕНАВИЖУ, когда я извлекаю что-то из системы контроля версий, а все зависимые файлы jar нигде не могут быть найдены, что заставляет меня гадать, пока я не разрешу все исключения ClassNotFound. Не добавляйте каталог сборки или сценарий сборки Netbeans, если вы не привязаны только к запуску Netbeans. Другой альтернативой является добавление сценария сборки (не для Netbeans).