cosa dovrebbe esserci nel file .gitignore per un progetto java netbeans?


90

Quale dovrebbe essere il contenuto del file .gitignore per un progetto java in netbeans?


1
Dipende anche dal sistema operativo che stai sviluppando, la maggior parte degli sviluppatori Mac lo include .DS_Storepoiché questo è generato da OS X, nella maggior parte delle directory, ed è superfluo per la tua applicazione.
Greg K

Sto sviluppando in Windows. In questione intendo alcuni file come .DS_Store. Ad esempio dovrei includere la cartella build in .gitignore?
giovedì

3
Questo è, più o meno, un duplicato di stackoverflow.com/questions/1267403/…
David J.

Risposte:


65

Ci sono un buon numero di file che probabilmente non è necessario eseguire il commit in git, poiché sono compilati, sono generati da NB o contengono informazioni specifiche dell'ambiente.

Se crei un progetto che utilizza Ant come meccanismo di compilazione, di solito finisci con un albero di directory che assomiglia a questo ...

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

Dopo aver eseguito una compilazione, ci saranno un paio di directory aggiuntive

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

Probabilmente dovresti mettere le directory build, dist e nbproject / private (e i loro figli) nel tuo .gitignore.

Se vuoi essere molto aggressivo nell'esclusione dei file, potresti prendere in considerazione l'esclusione di tutti i file che appaiono in nbproject EXCEPT project.properties e project.xml. Gli altri file nella directory nbproject vengono rigenerati da NetBeans all'apertura del progetto.


4
Una domanda molto simile è stata posta un anno prima e la risposta migliore indicava un articolo della Knowledge Base di NetBeans che fornisce una risposta simile alla tua.
David J.

2
@DavidJames - collegamento interrotto ora
Jason S

@JasonS Il mio primo collegamento è ancora valido; Non riesco a modificare il secondo collegamento. Più contesto su C'è un modo per correggere i collegamenti interrotti nei commenti? Le mod possono modificare i commenti?
David J.

73
# NetBeans specific #
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml

# Class Files #
*.class

# Package Files #
*.jar
*.war
*.ear

1
Solo una nota che questo è strettamente in linea con il NetBeans .gitignore ospitato su GitHub: github.com/github/gitignore/blob/master/Global/…
Steven

1
NetBeans .gitignore di GitHub consente di includere file .jar nel repository. Dubito che sia la migliore pratica, ma mi semplifica la vita.
Neal Ehardt

... e, come GitHub .gitignoreper NetBeans, non è del tutto corretto. Vedi stackoverflow.com/q/24139478/421049 .
Garret Wilson

3
Aggiungi barre iniziali ai nomi delle directory da ignorare. Ad esempio: "/ build /" invece di "build /". Altrimenti se hai una directory chiamata "build" da qualche parte nella struttura della directory, verrà ignorata, il che probabilmente non è quello che vuoi.
Duncan

1

Non dovrebbero esserci file specifici di NetBeans nel tuo .gitignore. Il .gitignorefile è specifico del progetto ma condiviso tra gli sviluppatori, IOW dovrebbero esserci solo cose che sono comuni a tutti gli sviluppatori che lavorano con il codice (inclusi quelli che usano OSX, Linux invece di Windows ed Eclipse, IntelliJ o Notepad come editor) e che sono specifici per il progetto.

Se ci sono alcuni file che vorresti ignorare in base al tuo ambiente specifico (come ad esempio Windows Thumbs.dbe desktopfile o nbprojectdirectory NeBeans ) dovresti farlo nella tua lista globale di ignoranza , non nello specifico del progetto .gitignore - se non altro perché allora non lo fai ' Non è necessario aggiungerli individualmente a ogni singolo progetto.

Se i file che desideri ignorare sono sia specifici del tuo ambiente che specifici del progetto, inseriscili in quel repository .git/info/exclude.


2
Perché usare .git / info / exclude invece dei progetti .gitignore? Qual è il vantaggio / svantaggio se messo in .gitignore?
Andrew Burns,

@Andrew Burns La differenza tra .gitignore e .git / info / exclude è che il primo sarà aggiornato (git tiene traccia delle modifiche), mentre il secondo no. Uso .gitignore perché a volte cambio ciò che viene ignorato e voglio che sia associato alla versione. Mi sono piaciuti i file di esempio .gitignore qui .
Ivin

2
Non sono d'accordo; non danneggia un utente IntelliJ se un utente Eclipse controlla i file di progetto appropriati (ad es. non generati automaticamente), o viceversa. In realtà può aiutare quando un membro del team di progetto ha bisogno di lavorare con quell'altro IDE. (Questo potrebbe accadere durante la risoluzione dei problemi o la programmazione in coppia.)
David J.

1
nb-configuration.xml non dovrebbe essere ignorato. È pensato per essere condiviso tra gli sviluppatori.
DejanLekic
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.