apa yang harus ada dalam file .gitignore untuk proyek java netbeans?

92

Apa yang seharusnya menjadi konten file .gitignore untuk proyek java di netbeans?

thuaso
sumber
1
Bergantung pada OS yang Anda kembangkan, sebagian besar pengembang Mac menyertakan .DS_Storekarena ini dihasilkan oleh OS X, di sebagian besar direktori, dan berlebihan untuk aplikasi Anda.
Greg K
Saya berkembang di windows. Yang saya maksud adalah beberapa file tertentu seperti .DS_Store. Misalnya, haruskah saya menyertakan folder build di .gitignore?
thuaso
3
Ini, lebih atau kurang, duplikat stackoverflow.com/questions/1267403/…
David J.

Jawaban:

65

Ada cukup banyak file yang mungkin tidak perlu Anda masukkan ke dalam git, karena dibuat, dibuat oleh NB atau berisi informasi khusus lingkungan.

Jika Anda membuat proyek yang menggunakan Ant sebagai mekanisme build, biasanya Anda akan mendapatkan pohon direktori yang terlihat seperti ini ...

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

Setelah Anda membangun .. akan ada beberapa direktori tambahan

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

Anda mungkin harus meletakkan direktori build, dist dan nbproject / private (dan turunannya) ke dalam .gitignore Anda.

Jika Anda ingin sangat agresif dalam mengecualikan file, Anda mungkin ingin mempertimbangkan untuk mengecualikan semua file yang muncul di nbproject KECUALI project.properties dan project.xml. File lain di direktori nbproject dibuat ulang oleh NetBeans saat proyek dibuka.

vkraemer.dll
sumber
4
Sebuah pertanyaan yang sangat mirip ditanyakan setahun sebelumnya dan jawaban terbaik menunjuk ke Artikel Basis Pengetahuan NetBeans yang memberikan jawaban serupa seperti yang Anda lakukan.
David J.
2
@DavidJames - tautan rusak sekarang
Jason S
@JasonS Link pertama saya masih valid; Saya tidak dapat mengedit tautan kedua. Konteks selengkapnya di Adakah cara untuk memperbaiki tautan yang rusak di komentar? Bisakah mod mengedit komentar?
David J.
75
# NetBeans specific #
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml

# Class Files #
*.class

# Package Files #
*.jar
*.war
*.ear
mono68.dll
sumber
1
Hanya catatan bahwa ini sangat selaras dengan NetBeans .gitignore yang dihosting di GitHub: github.com/github/gitignore/blob/master/Global/…
Steven
1
NetBeans .gitignore dari GitHub memungkinkan file .jar dimasukkan ke dalam repo. Saya ragu itu praktik terbaik, tetapi itu membuat hidup saya lebih mudah.
Neal Ehardt
... dan, seperti GitHub .gitignoreuntuk NetBeans, itu tidak sepenuhnya benar. Lihat stackoverflow.com/q/24139478/421049 .
Garret Wilson
3
Tambahkan garis miring di depan nama direktori yang akan diabaikan. Misalnya: "/ build /" bukan hanya "build /". Sebaliknya, jika Anda memiliki direktori bernama "build" di suatu tempat di bawah struktur direktori, ini akan diabaikan, yang mungkin bukan yang Anda inginkan.
Duncan
1

Seharusnya tidak ada file khusus NetBeans di file .gitignore. The .gitignorefile proyek-spesifik tetapi dibagi antara pengembang, TKI seharusnya hanya ada hal-hal di sana yang umum untuk semua pengembang bekerja dengan kode (termasuk orang-orang yang menggunakan OSX, Linux bukan Windows dan Eclipse, IntelliJ atau Notepad sebagai editor) dan yang khusus untuk proyek tersebut.

Jika ada beberapa file yang ingin Anda abaikan berdasarkan lingkungan spesifik Anda (seperti misalnya Windows Thumbs.dbdan desktopfile atau nbprojectdirektori NeBeans ), Anda harus melakukannya di daftar abaikan global Anda, bukan di khusus proyek .gitignore - jika hanya karena Anda tidak melakukannya ' Anda tidak perlu menambahkannya ke setiap proyek Anda satu per satu.

Jika file yang ingin Anda abaikan spesifik untuk lingkungan Anda dan khusus untuk proyek, letakkan file tersebut ke dalam repositori itu .git/info/exclude.

Jörg W Mittag
sumber
2
Mengapa menggunakan .git / info / exclude daripada proyek .gitignore? Apa keuntungan / kerugiannya jika dimasukkan ke dalam .gitignore?
Andrew Burns
@Andrew Burns Perbedaan antara .gitignore dan .git / info / exclude adalah bahwa yang pertama akan diversi (git trek berubah), sedangkan yang terakhir tidak. Saya menggunakan .gitignore karena terkadang saya mengubah apa yang diabaikan dan ingin dikaitkan dengan versi. Saya suka t sampel file .gitignore di sini .
Ivin
2
Saya tidak setuju; tidak merugikan pengguna IntelliJ jika pengguna Eclipse memeriksa file proyek yang sesuai (misalnya, tidak dibuat secara otomatis), atau sebaliknya. Ini sebenarnya dapat membantu ketika salah satu anggota tim proyek perlu bekerja dengan IDE lain tersebut. (Ini mungkin terjadi selama pemecahan masalah atau pemrograman pasangan.)
David J.
1
nb-configuration.xml tidak boleh diabaikan. Ini dimaksudkan untuk dibagikan di antara pengembang.
DejanLekic