Apa yang harus disertakan oleh file gitignore Xcode 6?


225

Apa yang seharusnya .gitignoredisertakan untuk Xcode 6?

Juga untuk informasi mengenai yang xccheckoutdiperkenalkan pada Xcode 5 lihat di sini


51
Ini bukan pertanyaan "terutama berdasarkan pendapat". Ada file yang git harus selalu diabaikan di XCode, file program seperti xcuserdata. Pilihan untuk mengecualikan ini sama sekali tidak berdasarkan pendapat.
Dermot

4
Saya yang kedua Dermot yang satu itu! Tidak mengabaikan beberapa file menyebabkan kesalahan, oleh karena itu ada praktik terbaik yang pasti. Setengah dari contoh kode yang dibagikan dalam jawaban SO dapat dianggap sama pendapatnya karena ada cara lain untuk melakukan sesuatu, tetapi ada praktik terbaik yang diterima secara umum dan standar de facto.
amukan

2
Mungkin ditutup sebagian karena ada jawaban yang luas di sini: stackoverflow.com/questions/49478/… . Dalam penelitian saya, Anda salah mengatakan bahwa .xccheckout harus diabaikan - tetapi tidak 100% jelas, dan saya telah mencatat bug di Apple yang meminta jawaban resmi.
Adam

Jawaban:


276

1)

Jawaban termudah adalah milik saya terlihat seperti ini:

# 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

yang saya percaya adalah .gitignore yang sama yang diatur secara default oleh GitHub dengan semua repositori mereka.

2)

Jawaban lain adalah ada situs web bernama "gitignore.io" , yang menghasilkan file berdasarkan templat .gitignore dari https://github.com/github.com/github/gitignore .


10
jangan lupa untuk menghapus xcworkspace jika Anda menggunakan cocoa pod jika mengintegrasikan kait komit pasca dengan misalnya travis
Ivor Prebeg

3
Saya meneliti semua file - cf stackoverflow.com/questions/49478/... - berbagai kontributor yang belum diperiksa untuk proyek github jelas tidak (saya berulang kali melihat hal-hal yang seharusnya ada di sana tetapi hilang, dan (lebih buruk) sebaliknya ). Jelas, saya tidak akan repot melacak / mengomentari sesuatu yang jelas tidak terpelihara untuk memulai dengan :) - Saya hanya menyerah, dan menulis .gitignore yang berfungsi sebagai gantinya, dan membagikannya di StackOverflow
Adam

2
Cocoapods menyarankan untuk berpikir dua kali untuk mengabaikan Pods: guides.cocoapods.org/using/… ?
ericsoco

3
Untuk apa nilainya, saya menghabiskan beberapa saat meneliti berbagai file .gitignore Xcode & Cocoapods yang berbeda dan yang ini tampaknya bekerja paling baik untuk saya. Folder Pods diabaikan dengan benar, karena ini adalah kondisi akhir yang dihasilkan. Juga, file Podfile.lock disertakan, yang memberikan metadata berharga tentang keadaan build selama berbagai commit.
Matt Vukas

4
.idea/hanya diperlukan yang menggunakanAppCode
Wanbok Choi

57

Jika Anda membuat proyek baru dari awal di Xcode 6 ... tidak perlu lagi file .gitignore yang panjang, seperti yang saya tunjukkan dalam posting terakhir saya : Apple mengoptimalkan file proyek standar dan struktur folder untuk memenuhi persyaratan untuk git jelas dan lurus ke depan melakukan. Apple juga mengabaikan dua pola file secara default jika Anda membuat repositori git dengan templat proyek Xcode:

.DS_Store
UserInterfaceState.xcuserstate

Mereka menambahkannya ke .git/info/excludesfile Anda di direktori proyek Anda. Jadi tidak perlu mengabaikannya lagi di .gitignore :-)

Satu-satunya hal yang selalu saya sertakan dalam .gitignorefile adalah

# Exclude personal Xcode user settings
xcuserdata/ 

2
Maukah Anda memasukkan baris ketiga ke bagian atas, jadi saya tidak perlu menyalin dua kali setiap kali saya sampai pada jawaban ini, tolong? Saya harap ini juga mendapat upvotes!
Dan Rosenstark

3
@Yar ... seperti yang saya jelaskan di atas: satu-satunya baris yang Anda butuhkan dalam file .gitignore Anda adalah pengecualian xcuserdata /. Dua jalur lainnya sudah ditangani oleh Apple secara default. Jadi tidak perlu menyalin tiga baris ke file .gitignore Anda.
crosscode

1
Oh! Wow. Itu sebenarnya sesuatu yang bisa saya ketik dengan tangan. Hebat, terima kasih sudah berbagi dan semoga sukses di SO.
Dan Rosenstark

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.