Was sollte in der Gitignore-Datei für ein NetBeans-Java-Projekt enthalten sein?

90

Was sollte der Inhalt der .gitignore-Datei für ein Java-Projekt in NetBeans sein?

thuaso
quelle
1
Abhängig von dem Betriebssystem, auf dem Sie ebenfalls entwickeln, schließen die meisten Mac-Entwickler ein, .DS_Storeda dies von OS X in den meisten Verzeichnissen generiert wird und für Ihre Anwendung überflüssig ist.
Greg K
Ich entwickle mich in Windows. In Frage meine ich einige bestimmte Dateien wie .DS_Store. Soll ich zum Beispiel einen Build-Ordner in .gitignore aufnehmen?
Donnerstag,
3
Dies ist mehr oder weniger ein Duplikat von stackoverflow.com/questions/1267403/…
David J.

Antworten:

65

Es gibt eine ganze Reihe von Dateien, die Sie wahrscheinlich nicht in git festschreiben müssen, da sie erstellt wurden, von NB generiert wurden oder umgebungsspezifische Informationen enthalten.

Wenn Sie ein Projekt erstellen, das Ant als Erstellungsmechanismus verwendet, erhalten Sie normalerweise einen Verzeichnisbaum, der so aussieht ...

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

Nachdem Sie einen Build erstellt haben, werden einige zusätzliche Verzeichnisse angezeigt

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

Sie sollten wahrscheinlich die Verzeichnisse build, dist und nbproject / private (und ihre untergeordneten Verzeichnisse) in Ihren .gitignore einfügen.

Wenn Sie beim Ausschließen von Dateien sehr aggressiv sein möchten, sollten Sie alle Dateien ausschließen, die in nbproject EXCEPT project.properties und project.xml enthalten sind. Die anderen Dateien im Verzeichnis nbproject werden beim Öffnen des Projekts von NetBeans neu generiert.

vkraemer
quelle
4
Ein Jahr zuvor wurde eine sehr ähnliche Frage gestellt, und die beste Antwort zeigte auf einen NetBeans Knowledge Base-Artikel , der eine ähnliche Antwort wie Sie enthält.
David J.
2
@ DavidJames - defekter Link jetzt
Jason S
@JasonS Mein erster Link ist noch gültig; Ich kann den zweiten Link nicht bearbeiten. Mehr Kontext unter Gibt es eine Möglichkeit, fehlerhafte Links in Kommentaren zu beheben? Können die Mods Kommentare bearbeiten?
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
quelle
1
Nur eine Anmerkung, dass dies eng mit dem auf GitHub gehosteten NetBeans .gitignore übereinstimmt: github.com/github/gitignore/blob/master/Global/…
Steven
1
Mit GitHubs NetBeans .gitignore können .jar-Dateien in das Repo aufgenommen werden. Ich bezweifle, dass dies die beste Vorgehensweise ist, aber es erleichtert mir das Leben.
Neal Ehardt
... und wie der GitHub .gitignorefür NetBeans ist er nicht ganz richtig. Siehe stackoverflow.com/q/24139478/421049 .
Garret Wilson
3
Fügen Sie den Namen der zu ignorierenden Verzeichnisse führende Schrägstriche hinzu. Zum Beispiel: "/ build /" statt nur "build /". Andernfalls wird ein Verzeichnis mit dem Namen "build" irgendwo in der Verzeichnisstruktur ignoriert, was wahrscheinlich nicht das ist, was Sie wollen.
Duncan
1

Es sollten keine NetBeans-spezifischen Dateien in Ihrem sein .gitignore. Die .gitignoreDatei projektspezifisch ist , sondern zwischen den Entwicklern geteilt, IOW es sollte nur Dinge drin, die gemeinsam für alle Entwickler , die mit dem Code (einschließlich solcher , die OSX verwenden, Linux anstelle von Windows und Eclipse, IntelliJ oder Notepad als Herausgeber) und das sind projektspezifisch .

Wenn es einige Dateien gibt, die Sie aufgrund Ihrer spezifischen Umgebung ignorieren möchten (z. B. Windows Thumbs.dbund desktopDateien oder NeBeans- nbprojectVerzeichnisse), sollten Sie dies in Ihrer globalen Ignorierliste tun, nicht in der projektspezifischen .gitignore - schon allein deshalb, weil Sie dies nicht tun. Sie müssen sie nicht jedem Ihrer Projekte einzeln hinzufügen.

Wenn die Dateien, die Sie ignorieren möchten, sowohl für Ihre Umgebung als auch für das Projekt spezifisch sind, legen Sie sie in diesem Repository ab .git/info/exclude.

Jörg W Mittag
quelle
2
Warum sollten Sie .git / info / exclude anstelle von .gitignore verwenden? Was ist der Vorteil / Nachteil, wenn in .gitignore gesetzt?
Andrew Burns
@ Andrew Burns Der Unterschied zwischen .gitignore und .git / info / exclude besteht darin, dass Ersteres versioniert wird (Git verfolgt Änderungen), Letzteres jedoch nicht. Ich verwende .gitignore, weil ich manchmal ändere, was ignoriert wird, und möchte, dass dies der Version zugeordnet wird. Ich mochte es, hier .gitignore-Dateien zu testen .
Ivin
2
Ich bin nicht einverstanden; Es schadet einem IntelliJ-Benutzer nicht, wenn ein Eclipse-Benutzer geeignete (z. B. nicht automatisch generierte) Projektdateien eincheckt oder umgekehrt. Es kann tatsächlich hilfreich sein, wenn ein Mitglied des Projektteams mit dieser anderen IDE arbeiten muss. (Dies kann während der Fehlerbehebung oder Paarprogrammierung passieren.)
David J.
1
nb-configuration.xml sollte nicht ignoriert werden. Es soll unter Entwicklern geteilt werden.
DejanLekic