Cosa dovrebbe includere il file gitignore di Xcode 6?


225

Cosa dovrebbe .gitignoreincludere il tipico per Xcode 6?

Anche per informazioni riguardanti l' xccheckoutintroduzione in Xcode 5 vedere qui


51
Questa non è una domanda "principalmente basata sull'opinione". Ci sono file che Git dovrebbe sempre ignorare in XCode, file di programma come xcuserdata. La scelta di escluderli non è in alcun modo basata sull'opinione.
Dermot

4
Secondo Dermot su quello! Non ignorare alcuni file causa errori, pertanto esiste una procedura ottimale definitiva. La metà degli esempi di codice condivisi nelle risposte SO potrebbe essere parimenti considerata come opinione in quanto vi sono altri modi di fare le cose, ma in genere ci sono le migliori pratiche e gli standard di fatto accettati.
rabbia

2
Forse chiuso in parte perché c'è una risposta esaustiva qui: stackoverflow.com/questions/49478/… . Nella mia ricerca, hai sbagliato a dire che .xccheckout dovrebbe essere ignorato, ma non è chiaro al 100% e ho registrato un bug con Apple che chiede una risposta ufficiale.
Adam,

Risposte:


276

1)

La risposta più semplice è che la mia assomiglia a questa:

# 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

che credo sia lo stesso .gitignore che GitHub configura con tutti i loro repository di default.

2)

Un'altra risposta è che esiste un sito Web chiamato "gitignore.io" , che genera i file in base ai modelli .gitignore da https://github.com/github/gitignore .


10
non dimenticare di rimuovere xcworkspace nel caso in cui usi i baccelli di cacao se integra ganci post commit con ad esempio travis
Ivor Prebeg,

3
Ho cercato tutti i file - cf stackoverflow.com/questions/49478/… - i vari contributori non controllati al progetto github chiaramente non lo hanno fatto (vedo ripetutamente cose che dovrebbero essere lì dentro ma mancano, e (peggio) viceversa ). Ovviamente, non mi preoccuperò di tenere traccia / commentare qualcosa che è chiaramente mal mantenuto per cominciare :) - Ho semplicemente rinunciato e ho scritto un .gitignore funzionante, e condiviso su StackOverflow
Adam

2
Cocoapods suggerisce di pensare due volte all'ignorare Pods: guide.cocoapods.org/using/… ?
ericsoco,

3
Per quello che vale, ho trascorso un po 'di tempo alla ricerca di diversi file .gitignore Xcode & Cocoapods e questo sembra funzionare meglio per me. La cartella Pods viene giustamente ignorata, poiché è uno stato finale generato. Inoltre, è incluso il file Podfile.lock, che fornisce metadati preziosi sullo stato di una build durante vari commit.
Matt Vukas,

4
.idea/è necessario solo chi usaAppCode
Wanbok Choi

57

Se stai creando un nuovo progetto da zero in Xcode 6 ... non è più necessario un file .gitignore lungo, come ho sottolineato nel mio ultimo post : Apple ha ottimizzato il file di progetto standard e la struttura delle cartelle per soddisfare i requisiti per git chiaro e diretto si impegna. Apple inoltre ignora due modelli di file per impostazione predefinita se si crea il repository git con un modello di progetto Xcode:

.DS_Store
UserInterfaceState.xcuserstate

Li hanno aggiunti al tuo .git/info/excludes file nella directory del progetto. Quindi non è necessario ignorarli nuovamente in .gitignore :-)

L'unica cosa che includo sempre in un .gitignorefile è il

# Exclude personal Xcode user settings
xcuserdata/ 

2
Ti dispiacerebbe mettere la terza riga nel primo pezzo, quindi non devo copiarlo due volte ogni volta che arrivo a questa risposta, per favore? Spero che ottenga anche 133 voti!
Dan Rosenstark,

3
@Yar ... come ho descritto sopra: l'unica riga che ti serve nel tuo file .gitignore è l'esclusione di xcuserdata /. Le altre due linee sono già gestite da Apple per impostazione predefinita. Quindi non è necessario copiare queste tre righe nel file .gitignore.
codice incrociato

1
Oh! Wow. In realtà è qualcosa che posso scrivere a mano. Grandi cose, grazie per la condivisione e buona fortuna qui su SO.
Dan Rosenstark,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.