Xcode 6 gitignore dosyası neleri içermelidir?


225

.gitignoreXcode 6 için tipik ne içermelidir ?

Ayrıca xccheckoutXcode 5'te tanıtılan bilgiler için buraya bakın


51
Bu "öncelikle görüş temelli" bir soru değil. Git XCode'da her zaman yoksayması gereken dosyalar, xcuserdata gibi program dosyaları vardır. Bunları hariç tutma seçeneği hiçbir şekilde görüşe dayalı değildir.
7'de Dermot

4
Bu konuda ikinci Dermot! Bazı dosyaların göz ardı edilmemesi hatalara neden olur, bu nedenle kesin bir en iyi uygulama vardır. SO cevaplarında paylaşılan kod örneklerinin yarısı, bir şeyler yapmanın başka yolları olduğu için eşit olarak düşünülebilir, ancak genellikle kabul edilen en iyi uygulamalar ve fiili standartlar vardır.
öfke

2
Belki burada kısmen kapsamlı bir cevap olduğu için kısmen kapalı: stackoverflow.com/questions/49478/… . Araştırmamda, .xccheckout'un göz ardı edilmesi gerektiğini söylemek yanlışsınız - ancak% 100 net değil ve Apple ile resmi bir cevap isteyen bir hata kaydettim.
Adam

Yanıtlar:


276

1)

En kolay cevap, benimki şöyle görünüyor:

# 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

hangi GitHub varsayılan olarak tüm depolarıyla kurmak aynı .gitignore olduğunu düşünüyorum.

2)

Başka bir yanıt, "gitignore.io" adlı bir web sitesi olup, dosyaları https://github.com/github/gitignore adresindeki .gitignore şablonlarına göre oluşturur .


10
sonrası taahhüt kancaları örneğin travis ile entegre ediyorsanız kakao baklalarını kullanmanız durumunda xcworkspace'i kaldırmayı unutmayın
Ivor Prebeg

3
Tüm dosyaları araştırdım - cf stackoverflow.com/questions/49478/… - github projesine çeşitli, unvetted katkıda bulunanlar açıkça (orada tekrarlanması gereken ama eksik olan şeyleri görüyorum (tam tersi) ). Açıkçası, başlamak için açıkça kötü tutulan bir şey üzerinde izleme / yorum yapmaya zahmet etmeyeceğim :) - Sadece vazgeçtim ve bir çalışma yazdım .gitignore ve StackOverflow üzerinde paylaştı
Adam

2
Cocoapods, görmezden gelme hakkında iki kez düşünmeyi önerir Pods: guides.cocoapods.org/using/… ?
ericsoco

3
Değer için, farklı Xcode ve Cocoapods .gitignore dosyalarını araştırırken bir süre geçirdim ve bu benim için en iyi şekilde çalışıyor gibi görünüyor. Podlar klasörü, oluşturulan bir son durum olduğundan doğru şekilde yok sayılır. Ayrıca, çeşitli işlemler sırasında bir yapının durumu hakkında değerli meta veriler sağlayan Podfile.lock dosyası da vardır.
Matt Vukas

4
.idea/kullanan sadece gereklidirAppCode
Wanbok Choi

57

Xcode 6'da sıfırdan yeni bir proje oluşturuyorsanız ... Son yazımda belirttiğim gibi artık uzun bir .gitignore dosyasına gerek yok : Apple, standart proje dosyasını ve klasör yapısını, gereksinimleri karşılayacak şekilde optimize etti temiz ve düz ileri git taahhüt eder. Bir Xcode proje şablonuyla git deposunu oluşturursanız Apple varsayılan olarak iki dosya desenini yoksayar:

.DS_Store
UserInterfaceState.xcuserstate

Bunları .git/info/excludesproje dizininizdeki dosyanıza eklediler . Yani onları yeniden görmezden gelmeye gerek yok .gitignore :-)

Her zaman bir .gitignoredosyaya eklediğim tek şey

# Exclude personal Xcode user settings
xcuserdata/ 

2
Üçüncü satırı en üst parçaya koymak ister misiniz, bu yüzden bu yanıta her geldiğimde iki kez kopyalamak zorunda değilim, lütfen? Umarım 133 oy alır!
Dan Rosenstark

3
@Yar ... yukarıda açıkladığım gibi: .gitignore dosyanızda ihtiyacınız olan tek satır xcuserdata / 'ın hariç tutulmasıdır. Diğer iki satır varsayılan olarak Apple tarafından zaten ele alınmıştır. Bu nedenle bu üç satırı .gitignore dosyanıza kopyalamanıza gerek yoktur.
çapraz kod

1
Ah! Vay. Bu aslında elle yazabileceğim bir şey. Harika şeyler, paylaşım için teşekkürler ve burada SO iyi şanslar.
Dan Rosenstark

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.