que doit contenir le fichier .gitignore pour un projet java netbeans?

90

Quel devrait être le contenu du fichier .gitignore pour un projet java dans netbeans?

Thuaso
la source
1
Cela dépend également du système d'exploitation sur lequel vous développez, la plupart des développeurs Mac incluent .DS_Storecar cela est généré par OS X, dans la plupart des répertoires, et est superflu pour votre application.
Greg K
Je développe sous windows. En question, je veux dire certains fichiers comme .DS_Store. Par exemple, dois-je inclure le dossier de construction dans .gitignore?
jeudi
3
Ceci est, plus ou moins, un double de stackoverflow.com/questions/1267403/…
David J.

Réponses:

65

Il y a un bon nombre de fichiers que vous n'avez probablement pas besoin de valider dans git, car ils sont construits, sont générés par NB ou contiennent des informations spécifiques à l'environnement.

Si vous créez un projet qui utilise Ant comme mécanisme de construction, vous vous retrouvez généralement avec une arborescence de répertoires qui ressemble à ceci ...

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

Après avoir fait une compilation ... il y aura quelques répertoires supplémentaires

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

Vous devriez probablement mettre les répertoires build, dist et nbproject / private (et leurs enfants) dans votre .gitignore.

Si vous voulez être très agressif sur l'exclusion de fichiers, vous pouvez envisager d'exclure tous les fichiers qui apparaissent dans nbproject EXCEPT project.properties et project.xml. Les autres fichiers du répertoire nbproject sont régénérés par NetBeans lorsque le projet est ouvert.

vkraemer
la source
4
Une question très similaire a été posée un an plus tôt et la meilleure réponse renvoyait à un article de la base de connaissances NetBeans qui donne une réponse similaire à celle que vous avez faite.
David J.
2
@DavidJames - lien cassé maintenant
Jason S
@JasonS Mon premier lien est toujours valide; Je ne peux pas modifier le deuxième lien. Plus de contexte sur Y a-t-il un moyen de corriger les liens brisés dans les commentaires? Les mods peuvent-ils modifier les commentaires?
David J.
73
# NetBeans specific #
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml

# Class Files #
*.class

# Package Files #
*.jar
*.war
*.ear
mono68
la source
1
Juste une note que cela s'aligne étroitement avec le .gitignore NetBeans hébergé sur GitHub: github.com/github/gitignore/blob/master/Global/…
Steven
1
NetBeans .gitignore de GitHub permet aux fichiers .jar d'être inclus dans le dépôt. Je doute que ce soit la meilleure pratique, mais cela me facilite la vie.
Neal Ehardt
... et, comme le GitHub .gitignorepour NetBeans, ce n'est pas tout à fait correct. Voir stackoverflow.com/q/24139478/421049 .
Garret Wilson
3
Ajoutez des barres obliques aux noms des répertoires à ignorer. Par exemple: "/ build /" au lieu de simplement "build /". Sinon, si vous avez un répertoire appelé "build" quelque part dans la structure du répertoire, il sera ignoré, ce qui n'est probablement pas ce que vous voulez.
Duncan
1

Il ne doit y avoir aucun fichier spécifique à NetBeans dans votre .gitignore. Le .gitignorefichier est spécifique au projet mais partagé entre les développeurs, IOW ne devrait contenir que des éléments communs à tous les développeurs travaillant avec le code (y compris ceux qui utilisent OSX, Linux au lieu de Windows et Eclipse, IntelliJ ou Notepad en tant qu'éditeurs) et qui sont spécifiques au projet.

S'il y a des fichiers que vous souhaitez ignorer en fonction de votre environnement spécifique (comme par exemple Windows Thumbs.dbet les desktopfichiers ou les nbprojectrépertoires NeBeans ), vous devez le faire dans votre liste d' ignorance globale, pas dans le projet spécifique .gitignore - ne serait-ce que parce que vous ne le faites pas. t besoin de les ajouter à chacun de vos projets individuellement.

Si les fichiers que vous souhaitez ignorer sont à la fois spécifiques à votre environnement et spécifiques au projet, placez-les dans ce référentiel .git/info/exclude.

Jörg W Mittag
la source
2
Pourquoi utiliser .git / info / exclude plutôt que les projets .gitignore? Quel est l'avantage / inconvénient s'il est mis dans .gitignore?
Andrew Burns
@Andrew Burns La différence entre .gitignore et .git / info / exclude est que le premier sera versionné (git suit les modifications), tandis que le second ne le fait pas. J'utilise .gitignore parce que je change parfois ce qui est ignoré et que je veux que cela soit associé à la version. J'ai aimé les exemples de fichiers .gitignore ici .
Ivin
2
Je ne suis pas d'accord; cela ne nuit pas à un utilisateur IntelliJ si un utilisateur Eclipse enregistre les fichiers de projet appropriés (par exemple non générés automatiquement), ou vice versa. Cela peut réellement aider lorsqu'un membre de l'équipe de projet doit travailler avec cet autre IDE. (Cela peut se produire pendant le dépannage ou la programmation par paires.)
David J.
1
nb-configuration.xml ne doit pas être ignoré. Il est destiné à être partagé entre les développeurs.
DejanLekic