สิ่งที่ควรอยู่ในไฟล์. gitignore สำหรับโปรเจ็กต์ netbeans java


92

เนื้อหาของไฟล์. gitignore สำหรับโปรเจ็กต์ java ใน netbeans ควรเป็นอย่างไร


1
ขึ้นอยู่กับระบบปฏิบัติการที่คุณกำลังพัฒนาเช่นกันนักพัฒนา Mac ส่วนใหญ่รวมถึง.DS_Storeสิ่งนี้สร้างโดย OS X ในไดเรกทอรีส่วนใหญ่และไม่จำเป็นสำหรับแอปพลิเคชันของคุณ
Greg K

ฉันกำลังพัฒนาใน windows ในคำถามฉันหมายถึงไฟล์บางไฟล์เช่น. DS_Store ตัวอย่างเช่นฉันควรรวมโฟลเดอร์ build ใน. gitignore หรือไม่
thuaso

3
นี่คือไม่มากก็น้อยที่ซ้ำกันของstackoverflow.com/questions/1267403/…
David J.

คำตอบ:


65

มีไฟล์จำนวนพอสมควรที่คุณอาจไม่จำเป็นต้องผูกมัดในคอมไพล์เนื่องจากสร้างขึ้นสร้างขึ้นโดย NB หรือมีข้อมูลเฉพาะของสภาพแวดล้อม

หากคุณสร้างโปรเจ็กต์ที่ใช้ Ant เป็นกลไกการสร้างคุณมักจะจบลงด้วยไดเร็กทอรีทรีที่มีลักษณะเช่นนี้ ...

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

หลังจากที่คุณสร้างแล้ว .. จะมีไดเรกทอรีเพิ่มเติมอีกสองสามรายการ

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

คุณควรใส่ build, dist และ nbproject / private directory (และลูก ๆ ) ไว้ใน. gitignore ของคุณ

หากคุณต้องการก้าวร้าวมากเกี่ยวกับการยกเว้นไฟล์คุณอาจต้องการพิจารณายกเว้นไฟล์ทั้งหมดที่ปรากฏใน nbproject EXCEPT project.properties และ project.xml ไฟล์อื่น ๆ ในไดเร็กทอรี nbproject จะถูกสร้างใหม่โดย NetBeans เมื่อเปิดโปรเจ็กต์


4
มีการถามคำถามที่คล้ายกันมากเมื่อปีก่อนและคำตอบที่ดีที่สุดก็ชี้ไปที่บทความฐานความรู้ของ NetBeansที่ให้คำตอบที่คล้ายกันกับคุณ
David J.

2
@DavidJames - ลิงก์เสียตอนนี้
Jason S

@JasonS ลิงค์แรกของฉันยังใช้ได้ ฉันไม่สามารถแก้ไขลิงค์ที่สองได้ บริบทเพิ่มเติมที่มีวิธีแก้ไขลิงก์เสียในความคิดเห็นหรือไม่? ม็อดสามารถแก้ไขความคิดเห็นได้หรือไม่?
David J.

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

# Class Files #
*.class

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

1
โปรดทราบว่าสิ่งนี้สอดคล้องกับ NetBeans .gitignore ที่โฮสต์บน GitHub: github.com/github/gitignore/blob/master/Global/…
Steven

1
NetBeans .gitignore ของ GitHub อนุญาตให้รวมไฟล์. jar ไว้ใน repo ฉันสงสัยว่านั่นเป็นแนวทางปฏิบัติที่ดีที่สุด แต่มันทำให้ชีวิตของฉันง่ายขึ้น
Neal Ehardt

... และเช่นเดียวกับ GitHub .gitignoreสำหรับ NetBeans มันไม่ถูกต้องนัก ดูstackoverflow.com/q/24139478/421049
Garret Wilson

3
เพิ่มเครื่องหมายทับลงในชื่อของไดเร็กทอรีที่จะละเว้น ตัวอย่างเช่น: "/ build /" แทนที่จะเป็นเพียง "build /" มิฉะนั้นหากคุณมีไดเร็กทอรีชื่อ "build" อยู่ที่ใดที่หนึ่งในโครงสร้างไดเร็กทอรีก็จะถูกละเว้นซึ่งอาจไม่ใช่สิ่งที่คุณต้องการ
Duncan

1

ไม่ควรมีไฟล์เฉพาะ NetBeans ในไฟล์.gitignore. .gitignoreไฟล์โครงการเฉพาะ แต่ร่วมกันระหว่างนักพัฒนา IOW ควรจะมีเพียงสิ่งที่อยู่ในมีที่พบบ่อยสำหรับนักพัฒนาทุกคนที่ทำงานด้วยรหัส (รวมถึงคนที่ใช้ OSX, Linux แทน Windows และคราส IntelliJ หรือ Notepad เป็นบรรณาธิการ) และ ที่เฉพาะเจาะจงสำหรับโครงการ

หากมีไฟล์บางไฟล์ที่คุณต้องการละเว้นตามสภาพแวดล้อมเฉพาะของคุณ (เช่น Windows Thumbs.dbและdesktopไฟล์หรือnbprojectไดเรกทอรีNeBeans ) คุณควรดำเนินการดังกล่าวในรายการละเว้นทั่วโลกไม่ใช่ในโครงการเฉพาะ.gitignore - หากเป็นเพียงเพราะคุณไม่ได้ ไม่จำเป็นต้องเพิ่มลงในทุกโครงการของคุณทีละโครงการ

หากไฟล์ที่คุณต้องการละเว้นมีทั้งเฉพาะสำหรับสภาพแวดล้อมของคุณและเฉพาะสำหรับโปรเจ็กต์ให้ใส่ลงในที่เก็บ.git/info/excludeนั้น


2
เหตุใดจึงต้องใช้. git / info / exclude แทนที่จะเป็นโปรเจ็กต์. gitignore ประโยชน์ / ข้อเสียคืออะไรถ้าใส่ใน. gitignore?
Andrew Burns

@ แอนดรูเบิร์นความแตกต่างระหว่าง. gitignore และ. git / info / exclude คือเวอร์ชันก่อนหน้าจะเป็นเวอร์ชัน (การเปลี่ยนแปลงแทร็กคอมไพล์) ในขณะที่อันหลังไม่มี ฉันใช้. gitignore เพราะบางครั้งฉันเปลี่ยนสิ่งที่ถูกละเว้นและต้องการให้เชื่อมโยงกับเวอร์ชัน ฉันชอบเสื้อไฟล์ .gitignore ตัวอย่างที่นี่
Ivin

2
ฉันไม่เห็นด้วย; จะไม่ทำร้ายผู้ใช้ IntelliJ หากผู้ใช้ Eclipse ตรวจสอบในไฟล์โปรเจ็กต์ที่เหมาะสม (เช่นไม่ได้สร้างขึ้นโดยอัตโนมัติ) หรือในทางกลับกัน มันสามารถช่วยได้จริงเมื่อสมาชิกคนหนึ่งในทีมโครงการต้องทำงานกับ IDE อื่นนั้น (สิ่งนี้อาจเกิดขึ้นระหว่างการแก้ไขปัญหาหรือการเขียนโปรแกรมคู่)
David J.

1
ไม่ควรละเลย nb-configuration.xml มีวัตถุประสงค์เพื่อแบ่งปันในหมู่นักพัฒนา
DejanLekic
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.