Intellij Idea 9/10 โฟลเดอร์ใดที่ต้องตรวจสอบ (หรือไม่เช็คอิน) การควบคุมแหล่งที่มา


120

ทีมของเราเพิ่งย้ายจาก Netbeans มาเป็น Intellij 9 Ultimate และจำเป็นต้องทราบว่าโดยทั่วไปแล้วไฟล์ / โฟลเดอร์ใดที่ควรถูกแยกออกจากการควบคุมแหล่งที่มาเนื่องจากไม่ใช่ "เวิร์กสเตชันพกพา" กล่าวคือเส้นทางอ้างอิงที่มีอยู่ในคอมพิวเตอร์ของผู้ใช้เพียงคนเดียว

เท่าที่ฉันบอกได้ Intellij ต้องการที่จะเพิกเฉยต่อโครงการ .ide ส่วนใหญ่ซึ่งรวมถึง

.idea/artifacts/*
.idea/inspectionProfiles/*
.idea/copyright/*
.idea/dataSources.ids
.idea/dataSources.xml
.idea/workspace.xml

อย่างไรก็ตามดูเหมือนว่าต้องการตรวจสอบ.imlไฟล์ที่มีอยู่ในไดเร็กทอรีรากของแต่ละโมดูล

เดิมทีฉันตรวจสอบใน.ideaไดเร็กทอรีทั้งหมดผ่านทางบรรทัดคำสั่งซึ่งเห็นได้ชัดว่าไอเดีย "ควร" ไม่สนใจอะไร .ideaโดยทั่วไปไดเรกทอรีทั้งหมดถูกละเว้นหรือไม่

คำตอบ:


105

เรามีบทความคำถามที่พบบ่อยซึ่งครอบคลุมคำถามนี้

รูปแบบ [.idea] ถูกใช้โดย IDE เวอร์ชันล่าสุดทั้งหมดตามค่าเริ่มต้น นี่คือสิ่งที่คุณต้องการแบ่งปัน:

  • ไฟล์ทั้งหมดภายใต้ไดเร็กทอรี. idaในรูทโปรเจ็กต์ยกเว้นไฟล์workspace.xmlและtask.xmlที่เก็บการตั้งค่าเฉพาะของผู้ใช้
  • ทั้งหมด.imlไฟล์โมดูลที่สามารถอยู่ในไดเรกทอรีโมดูลที่แตกต่างกัน (ใช้กับ IntelliJ IDEA)

โปรดใช้ความระมัดระวังในการแบ่งปันสิ่งต่อไปนี้:

  • สิ่งประดิษฐ์ Android ที่สร้างบิลด์ที่มีการลงนาม (จะมีรหัสผ่านที่เก็บคีย์)
  • ในความคิด 13 และก่อนหน้านี้dataSources.ids , datasources.xmlสามารถมีรหัสผ่านฐานข้อมูล IDEA 14 แก้ปัญหานี้ได้

คุณอาจพิจารณาไม่แบ่งปันสิ่งต่อไปนี้:

  • .imlสำหรับโปรเจ็กต์ที่ใช้ GradleหรือMavenเนื่องจากไฟล์เหล่านี้จะถูกสร้างขึ้นเมื่อนำเข้า
  • ไฟล์gradle.xml ดูการสนทนานี้
  • โฟลเดอร์พจนานุกรมผู้ใช้(เพื่อหลีกเลี่ยงความขัดแย้งหากผู้พัฒนารายอื่นมีชื่อเดียวกัน)
  • ไฟล์ XML ภายใต้ . idea / librariesในกรณีที่สร้างจาก Gradle หรือ Maven project

.idea ไดเร็กทอรีเป็นการแทนที่ไฟล์. ipr (Idea Project) เก่าและหากคุณต้องการแชร์โปรเจ็กต์ระหว่างผู้ใช้คุณจะต้องแชร์โฟลเดอร์. ina (โดยมีข้อยกเว้นที่กล่าวถึงในคำถามที่พบบ่อย) และไฟล์. iml ทั้งหมด


2
ใช่เป็นข้อมูลล่าสุดไม่มีการเปลี่ยนแปลงที่สำคัญในไฟล์โครงการ
CrazyCoder

72
@CrazyCoder (+1) มันจะทำให้ชีวิตของเราง่ายขึ้นถ้าพวกคุณใส่ไฟล์เฉพาะโปรเจ็กต์และไฟล์เฉพาะของผู้ใช้ในไดเร็กทอรีแยกกัน
IJ Kennedy

3
การแสดงความคิดเห็นในเธรดเก่า แต่วิธีการของ FAQ ในการแชร์โฟลเดอร์ .idea ทั้งหมด (ยกเว้น workspace.xml และ task.xml) เป็นปัญหาเนื่องจากไฟล์ต่างๆเปลี่ยนระหว่างเครื่องและระหว่างเซสชัน สิ่งที่ทำให้ฉันติดขัดจริงๆ: Python / Library บน Mac อยู่ในสองที่ที่แตกต่างกันบน Macs ที่แตกต่างกันดังนั้น pycharm.xml จึงลอยไปรอบ ๆ
Matthew Cornell

29
นั่นเป็นข้ออ้างที่ค่อนข้างแย่สำหรับคำถามที่พบบ่อย เป็นกระทู้ใหญ่ที่มีคนถามคำถาม แล้วตัวอย่าง. gitignore สำหรับโปรเจ็กต์ล่ะ?
Jeffrey Blattman

13
มันไม่น่าเชื่อ / เป็นไปไม่ได้ที่จะมี "บางใช่บ้างไม่ใช่" อยู่ในโฟลเดอร์เดียวกัน --- นี่ยังคงเป็นความวิกลจริตเหมือนเดิมในสี่ปีต่อมาหรือไม่? ขอบคุณ
Fattie


6

ไม่ใช่คำตอบที่แน่นอนสำหรับคำถาม แต่มีตัวอย่างไฟล์. gitignore ที่นี่รวมถึงไฟล์สำหรับ JetBrains ซึ่งรวมถึง Intellij


1
หวังว่าฉันจะสามารถลงคะแนนคำตอบอื่น ๆ ที่ไม่มีคำถามได้ ขอบคุณสำหรับการตอบกลับซอร์สโค้ดจริง
bobjones


5

คุณอาจพบว่าโพสต์นี้น่าสนใจ: ผสานกับไฟล์ IntelliJ IDEA .IPR และ. IWS

มันดูเหมือนว่าจะสรุปได้ว่าคุณควรเพิ่มไฟล์ทั้งหมดยกเว้น: workspace.xml, dataSources.xml, และsqlDataSources.xml dynamic.xmlคำตอบคือมุ่งเน้นไปที่การมีไฟล์ที่ไม่เปลี่ยนจากการเปิดโปรแกรมแก้ไขหรือทำการเปลี่ยนแปลงเฉพาะทาง


4

ฉันใช้ PHPStorm

นี่คือตัวอย่างข้อมูลโค้ดสำหรับไฟล์ .gitignore

# Ignore the following 2 PHPStorm files only workspace and tasks file
**/.idea/workspace.xml
**/.idea/tasks.xml

ไฟล์อื่น ๆ ทั้งหมดใน.ideaไดเร็กทอรีควรถูกผูกมัดกับที่เก็บของคุณ

เช่น: (คอมมิตทุกอย่างใน.ideaไดเร็กทอรี)

new file:   .idea/.name
new file:   .idea/encodings.xml
new file:   .idea/framework.iml
...

เอกสาร: วิธีจัดการโครงการภายใต้ระบบควบคุมเวอร์ชัน

นี่คือสิ่งที่คุณต้องการแบ่งปัน:

ไฟล์ทั้งหมดภายใต้ไดเร็กทอรี. idaในรูทโปรเจ็กต์ยกเว้นไฟล์workspace.xmlและtask.xmlซึ่งเก็บการตั้งค่าเฉพาะของผู้ใช้

ไฟล์โมดูล. iml ทั้งหมดที่สามารถอยู่ในไดเร็กทอรีโมดูลต่างๆ (ใช้กับ IntelliJ IDEA)

ดังนั้นโดยทั่วไปกระทำทุกอย่างยกเว้นและworkspace.xmltasks.xml


0

ใช่ฉันเชื่ออย่างนั้น คุณสามารถตรวจสอบการกำหนดค่า SVN เพื่อดูว่ามีอะไรถูกละเลยและเพิ่มสิ่งที่คุณคิดว่าควรละเว้น

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