co powinno być w pliku .gitignore dla projektu java netbeans?

92

Jaka powinna być zawartość pliku .gitignore dla projektu Java w netbeans?

tuaso
źródło
1
Zależy również od systemu operacyjnego, na którym tworzysz, większość programistów Mac uwzględnia, .DS_Storeponieważ jest on generowany przez OS X, w większości katalogów i jest zbędny dla twojej aplikacji.
Greg K
Rozwijam się w oknach. W pytaniu mam na myśli niektóre pliki, takie jak .DS_Store. Na przykład, czy powinienem dołączyć folder kompilacji do .gitignore?
czwartek
3
To jest mniej więcej duplikat stackoverflow.com/questions/1267403/ ...
David J.

Odpowiedzi:

65

Istnieje spora liczba plików, których prawdopodobnie nie musisz zatwierdzać do gita, ponieważ są one zbudowane, generowane przez NB lub zawierają informacje specyficzne dla środowiska.

Jeśli tworzysz projekt, który używa Ant jako mechanizmu budowania, zwykle uzyskujesz drzewo katalogów, które wygląda tak ...

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

Po wykonaniu kompilacji ... będzie kilka dodatkowych katalogów

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

Prawdopodobnie powinieneś umieścić katalogi build, dist i nbproject / private (i ich dzieci) w swoim .gitignore.

Jeśli chcesz bardzo agresywnie podchodzić do wykluczania plików, możesz rozważyć wykluczenie wszystkich plików, które pojawiają się w nbproject EXCEPT project.properties i project.xml. Inne pliki w katalogu nbproject są ponownie generowane przez NetBeans po otwarciu projektu.

vkraemer
źródło
4
Bardzo podobne pytanie zostało zadane rok wcześniej, a najlepszą odpowiedzią był artykuł z Bazy wiedzy NetBeans, który zawiera podobną odpowiedź jak Ty.
David J.,
2
@DavidJames - zepsuty link teraz
Jason S
@JasonS Mój pierwszy link jest nadal ważny; Nie mogę edytować drugiego łącza. Więcej kontekstu na stronie Czy istnieje sposób na naprawienie zepsutych linków w komentarzach? Czy mody mogą edytować komentarze?
David J.
74
# NetBeans specific #
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml

# Class Files #
*.class

# Package Files #
*.jar
*.war
*.ear
mono68
źródło
1
Tylko uwaga, że ​​jest to ściśle zgodne z NetBeans .gitignore hostowanym na GitHub: github.com/github/gitignore/blob/master/Global/…
Steven
1
GitHub's NetBeans .gitignore umożliwia dołączanie plików .jar do repozytorium. Wątpię, żeby to była najlepsza praktyka, ale to ułatwia mi życie.
Neal Ehardt
... i podobnie jak GitHub .gitignoredla NetBeans, nie jest do końca poprawny. Zobacz stackoverflow.com/q/24139478/421049 .
Garret Wilson
3
Dodaj wiodące ukośniki do nazw katalogów, które mają być ignorowane. Na przykład: „/ build /” zamiast tylko „build /”. W przeciwnym razie, jeśli masz katalog o nazwie „build” gdzieś na dole struktury katalogów, zostanie on zignorowany, co prawdopodobnie nie jest tym, czego chcesz.
Duncan
1

Nie powinno być plików specyficznych dla NetBeans w twoim .gitignore . .gitignorePlik jest projekt specyficzne ale dzielone między deweloperami, IOW nie powinno być tylko rzeczy tam, które są wspólne dla wszystkich programistów pracujących z kodem (włączając te, które korzystają z OSX, Linux zamiast Windows i Eclipse, IntelliJ lub Notatnik jako redaktorzy) i które są specyficzne dla projektu.

Jeśli są jakieś pliki, które chciałbyś zignorować w oparciu o twoje specyficzne środowisko (np. Windows Thumbs.dbi desktoppliki lub nbprojectkatalogi NeBeans ), powinieneś to zrobić na swojej globalnej liście ignorowanych, a nie na specyficznej dla projektu .gitignore - choćby dlatego, że wtedy tego nie robisz Nie trzeba dodawać ich do każdego projektu indywidualnie.

Jeśli pliki, które chcesz zignorować, są specyficzne dla twojego środowiska i specyficzne dla projektu, umieść je w tym repozytorium .git/info/exclude.

Jörg W Mittag
źródło
2
Po co używać .git / info / exclude zamiast projektów .gitignore? Jakie są zalety / wady umieszczenia w .gitignore?
Andrew Burns
@Andrew Burns Różnica między .gitignore i .git / info / exclude polega na tym, że pierwszy z nich będzie wersjonowany (git śledzi zmiany), podczas gdy drugi nie. Używam .gitignore, ponieważ czasami zmieniam to, co jest ignorowane i chcę, aby było to powiązane z wersją. Podobało mi się t przykładowe pliki .gitignore tutaj .
Ivin
2
Nie zgadzam się; nie szkodzi użytkownikowi IntelliJ, jeśli użytkownik Eclipse sprawdza odpowiednie (np. nie generowane automatycznie) pliki projektu lub odwrotnie. W rzeczywistości może pomóc, gdy jeden członek zespołu projektowego musi pracować z tym innym IDE. (Może się to zdarzyć podczas rozwiązywania problemów lub programowania w parach.)
David J.,
1
Nie należy ignorować pliku nb-configuration.xml. Ma być udostępniony programistom.
DejanLekic