ไฟล์ Xcode 6 gitignore ควรรวมอะไรบ้าง


225

โดยทั่วไปแล้วสิ่งที่ควร.gitignoreรวมสำหรับ Xcode 6

นอกจากนี้สำหรับข้อมูลเกี่ยวกับการxccheckoutแนะนำใน Xcode 5 ดูที่นี่


51
นี่ไม่ใช่คำถาม "ตามความคิดเห็นเป็นหลัก" มีไฟล์ที่ git ควรละเว้นใน XCode เสมอไฟล์โปรแกรมเช่น xcuserdata ตัวเลือกในการยกเว้นสิ่งเหล่านี้ไม่มีความคิดเห็น
Dermot

4
ฉันสอง Dermot ที่หนึ่ง! การไม่เพิกเฉยบางไฟล์ทำให้เกิดข้อผิดพลาดดังนั้นจึงมีแนวปฏิบัติที่ชัดเจนที่สุด ตัวอย่างรหัสครึ่งหนึ่งที่ใช้ร่วมกันในคำตอบ SO อาจถูกพิจารณาว่ามีความคิดเห็นเท่าเทียมกันเนื่องจากมีวิธีอื่น ๆ ในการทำสิ่งต่าง ๆ แต่โดยทั่วไปจะมีวิธีปฏิบัติที่ดีที่สุดและมาตรฐานตามความเป็นจริง
โกรธ

2
อาจจะปิดส่วนหนึ่งเป็นเพราะมีคำตอบมากมายที่นี่: stackoverflow.com/questions/49478/... ในการวิจัยของฉันคุณไม่ถูกต้องที่จะบอกว่า. xccheckout ควรละเว้น - แต่ยังไม่ชัดเจน 100% และฉันได้บันทึกข้อบกพร่องกับ Apple เพื่อขอคำตอบอย่างเป็นทางการ
อดัม

คำตอบ:


276

1)

คำตอบที่ง่ายที่สุดคือฉันหน้าตาแบบนี้:

# Xcode
.DS_Store
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
*.xcworkspace
!default.xcworkspace
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
# Pods - for those of you who use CocoaPods
Pods

ซึ่งฉันเชื่อว่าเป็น. gignignore เดียวกันกับที่ GitHub ตั้งค่ากับที่เก็บข้อมูลทั้งหมดของพวกเขาตามค่าเริ่มต้น

2)

คำตอบก็คือว่ามีเว็บไซต์ที่เรียกว่า "gitignore.io"ซึ่งจะสร้างไฟล์ขึ้นอยู่กับแม่ .gitignore จากhttps://github.com/github/gitignore


10
อย่าลืมที่จะลบ xcworkspace ในกรณีที่คุณใช้ฝักโกโก้ถ้าการรวมการโพสต์การ
ผูก

3
ฉันค้นคว้าไฟล์ทั้งหมด - cf stackoverflow.com/questions/49478/… - ผู้ร่วมให้ข้อมูลที่เปิดเผยกับโครงการ github อย่างชัดเจนไม่ได้ (ฉันเห็นสิ่งต่าง ๆ ที่ควรจะอยู่ในนั้น แต่หายไปและ (แย่กว่า) ในทางกลับกัน ) เห็นได้ชัดว่าฉันจะไม่รบกวนการติดตาม / แสดงความคิดเห็นในสิ่งที่รักษาไว้อย่างไม่ดีเพื่อเริ่มต้นด้วย :) - ฉันเพียงแค่ยอมแพ้และเขียน. gitignore ที่ทำงานแทนและแบ่งปันใน StackOverflow
Adam

2
Cocoapods แสดงให้เห็นความคิดรอบคอบเกี่ยวกับการละเลยPods: guides.cocoapods.org/using/... ?
ericsoco

3
สำหรับสิ่งที่คุ้มค่าฉันใช้เวลาค้นคว้าข้อมูลไฟล์ Xcode & Cocoapods .gitignore ที่แตกต่างกันและไฟล์นี้ดูเหมือนว่าจะทำงานได้ดีที่สุดสำหรับฉัน โฟลเดอร์ Pods จะถูกละเว้นอย่างถูกต้องเนื่องจากเป็นสถานะที่สร้างขึ้น นอกจากนี้ยังมีไฟล์ Podfile.lock ซึ่งให้ข้อมูลเมตาที่มีค่าเกี่ยวกับสถานะของบิลด์ในระหว่างการคอมมิทต่างๆ
Matt Vukas

4
.idea/เป็นสิ่งจำเป็นเท่านั้นที่ใช้AppCode
Wanbok Choi

57

หากคุณกำลังสร้างโครงการใหม่ตั้งแต่เริ่มต้นใน Xcode 6 ... ไม่จำเป็นต้องมีไฟล์. gitignore ที่ยาวอีกต่อไปดังที่ฉันได้ชี้ให้เห็นในโพสต์สุดท้ายของฉัน : Apple ปรับโครงสร้างไฟล์โครงการและโครงสร้างโฟลเดอร์ให้ตรงตามข้อกำหนดสำหรับ คอมไพล์ไปข้างหน้าชัดเจนและตรงไปตรงมา Apple จะละเว้นรูปแบบไฟล์สองรูปแบบตามค่าเริ่มต้นหากคุณสร้างที่เก็บ git ด้วยเทมเพลตโครงการ Xcode:

.DS_Store
UserInterfaceState.xcuserstate

พวกเขาเพิ่มลงใน.git/info/excludesไฟล์ของคุณในไดเรกทอรีโครงการของคุณ ดังนั้นไม่จำเป็นต้องเพิกเฉยอีกครั้งใน. gitignore :-)

สิ่งเดียวที่ฉันรวมไว้ใน.gitignoreไฟล์คือ

# Exclude personal Xcode user settings
xcuserdata/ 

2
คุณจะช่วยวางบรรทัดที่สามลงในส่วนบนสุดได้ไหมดังนั้นฉันไม่ต้องคัดลอกสองครั้งทุกครั้งที่ตอบคำถามนี้ ฉันหวังว่ามันจะเพิ่มขึ้น 133 โหวตเช่นกัน!
Dan Rosenstark

3
@ ใช่ ... ตามที่อธิบายไว้ข้างต้น: บรรทัดเดียวที่คุณต้องการในไฟล์. gitignore ของคุณคือการยกเว้นของ xcuserdata / Apple จะจัดการอีกสองบรรทัดเป็นค่าเริ่มต้น ดังนั้นไม่จำเป็นต้องคัดลอกทั้งสามบรรทัดไปยังไฟล์. gitignore ของคุณ
crosscode

1
Oh! ว้าว. นั่นคือสิ่งที่ฉันสามารถพิมพ์ด้วยมือได้ ขอบคุณมากสำหรับการแบ่งปันและขอให้โชคดีในที่นี้
Dan Rosenstark

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