что должно быть в файле .gitignore для Java-проекта netbeans?

92

Каким должно быть содержимое файла .gitignore для проекта Java в netbeans?

Туазо
источник
1
Это зависит от ОС, на которой вы разрабатываете, большинство разработчиков Mac включают, .DS_Storeпоскольку она создается OS X в большинстве каталогов и является излишней для вашего приложения.
Грег К.
Я разрабатываю в windows. Речь идет о некоторых определенных файлах, таких как .DS_Store. Например, следует ли включить папку сборки в .gitignore?
thuaso 06
3
Это, более или менее, дубликат stackoverflow.com/questions/1267403/…
Дэвид Дж.

Ответы:

65

Существует достаточное количество файлов, которые вам, вероятно, не нужно фиксировать в git, поскольку они созданы, генерируются NB или содержат информацию о среде.

Если вы создаете проект, который использует Ant в качестве механизма сборки, вы обычно получаете дерево каталогов, которое выглядит так ...

project-root-directory/
+ nbproject/
  build-impl.xml
  + private/
  + project.properties
  + project.xml
+ src/
+ test/
+ build.xml

После сборки .. будет пара дополнительных каталогов

project-root-directory/
+ build/
+ dist/
+ nbproject/
  build-impl.xml
  + private/
  + project.properties
  + project.xml
+ src/
+ test/
+ build.xml

Вероятно, вам следует поместить каталоги build, dist и nbproject / private (и их дочерние элементы) в свой .gitignore.

Если вы хотите быть очень агрессивными в отношении исключения файлов, вы можете рассмотреть возможность исключения всех файлов, которые появляются в nbproject EXCEPT project.properties и project.xml. Другие файлы в каталоге nbproject восстанавливаются NetBeans при открытии проекта.

вкраемер
источник
4
Очень похожий вопрос был задан годом ранее, и лучший ответ указывал на статью базы знаний NetBeans, которая дает такой же ответ, как и вы.
Дэвид Дж.
2
@DavidJames - ссылка не работает
Jason S
@JasonS Моя первая ссылка все еще действительна; Не могу редактировать вторую ссылку. Больше контекста: Есть ли способ исправить неработающие ссылки в комментариях? Могут ли моды редактировать комментарии?
Дэвид Дж.
75
# NetBeans specific #
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml

# Class Files #
*.class

# Package Files #
*.jar
*.war
*.ear
моно68
источник
1
Замечу, что это близко соответствует NetBeans .gitignore, размещенному на GitHub: github.com/github/gitignore/blob/master/Global/…
Стивен
1
Gitignore NetBeans от GitHub позволяет включать файлы .jar в репозиторий. Сомневаюсь, что это лучшая практика, но она облегчает мне жизнь.
Нил Эхардт
... и, как и GitHub .gitignoreдля NetBeans, это не совсем правильно. См. Stackoverflow.com/q/24139478/421049 .
Гаррет Уилсон,
3
Добавьте начальные косые черты к именам каталогов, которые следует игнорировать. Например: «/ build /» вместо «build /». В противном случае, если у вас есть каталог с именем "build" где-то внизу в структуре каталогов, он будет проигнорирован, что, вероятно, не то, что вам нужно.
Дункан
1

Не должно быть файлов, специфичных для NetBeans, в вашем .gitignore. Этот .gitignoreфайл зависит от проекта, но используется совместно разработчиками, IOW там должны быть только те вещи, которые являются общими для всех разработчиков, работающих с кодом (в том числе тех, которые используют OSX, Linux вместо Windows и Eclipse, IntelliJ или Notepad в качестве редакторов) и которые являются специфическими для проекта.

Если есть файлы, которые вы хотели бы игнорировать в зависимости от конкретной среды (например, Windows Thumbs.db и desktopфайлы или каталоги NeBeans nbproject), вы должны сделать это в своем глобальном списке игнорирования, а не в конкретном проекте .gitignore - хотя бы потому, что тогда вы не Нет необходимости добавлять их к каждому вашему проекту индивидуально.

Если файлы, которые вы хотите игнорировать, относятся как к вашей среде, так и к проекту, поместите их в этот репозиторий .git/info/exclude.

Йорг В. Миттаг
источник
2
Зачем использовать .git / info / exclude, а не проекты .gitignore? Каковы преимущества / недостатки использования .gitignore?
Эндрю Бернс,
@Andrew Burns. Разница между .gitignore и .git / info / exclude заключается в том, что первый будет версионироваться (git отслеживает изменения), а второй - нет. Я использую .gitignore, потому что иногда меняю то, что игнорируется, и хочу, чтобы это было связано с версией. Мне понравились образцы файлов .gitignore .
Ивин
2
Я не согласен; это не повредит пользователю IntelliJ, если пользователь Eclipse вернет соответствующие (например, не автоматически сгенерированные) файлы проекта, или наоборот. Это действительно может помочь, когда одному из членов проектной группы нужно работать с другой IDE. (Это может произойти во время устранения неполадок или парного программирования.)
Дэвид Дж.
1
nb-configuration.xml не следует игнорировать. Он предназначен для распространения среди разработчиков.
DejanLekic