¿Qué debería incluir el archivo gitignore de Xcode 6?

225

¿Qué debería .gitignoreincluir el típico para Xcode 6?

También para obtener información sobre lo xccheckoutintroducido en Xcode 5 ver aquí

Byte épico
fuente
51
Esta no es una pregunta "principalmente basada en la opinión". Hay archivos que git siempre debe ignorar en XCode, archivos de programa como xcuserdata. La elección de excluirlos no se basa en ninguna opinión.
Dermot
44
Yo segundo Dermot en ese! No ignorar algunos archivos causa errores, por lo tanto, existe una mejor práctica definitiva. La mitad de los ejemplos de código compartidos en las respuestas de SO podrían considerarse igualmente opiniones, ya que hay otras formas de hacer las cosas, pero en general hay mejores prácticas aceptadas y estándares de facto.
ira el
2
Tal vez cerrado en parte porque hay una respuesta extensa aquí: stackoverflow.com/questions/49478/… . En mi investigación, es incorrecto decir que .xccheckout debe ignorarse, pero no está 100% claro, y he registrado un error con Apple pidiendo una respuesta oficial.
Adam

Respuestas:

276

1)

La respuesta más fácil es que la mía se ve así:

# 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

que creo que es el mismo .gitignore que GitHub configura con todos sus repositorios por defecto.

2)

Otra respuesta es que hay un sitio web llamado "gitignore.io" , que genera los archivos basados ​​en las plantillas .gitignore de https://github.com/github/gitignore .

Michael Dautermann
fuente
10
no olvide eliminar xcworkspace en caso de que use vainas de cacao si integra ganchos post commit con, por ejemplo, travis
Ivor Prebeg
3
Investigué todos los archivos - cf stackoverflow.com/questions/49478/… - los diversos contribuyentes no investidos al proyecto github claramente no lo hicieron (veo repetidamente cosas que deberían estar allí pero faltan, y (peor) viceversa ) Obviamente, no voy a molestarme en rastrear / comentar algo que claramente está mal mantenido para comenzar :) - Simplemente me di por vencido y escribí un .gitignore que funcionaba, y lo compartí en StackOverflow
Adam
2
Cocoapods sugiere pensar dos veces antes de ignorar Pods: guides.cocoapods.org/using/… ?
ericsoco
3
Por lo que vale, pasé un tiempo investigando diferentes archivos .gitignore de Xcode & Cocoapods y este parece funcionar mejor para mí. La carpeta Pods se ignora correctamente, ya que es un estado final generado. Además, se incluye el archivo Podfile.lock, que proporciona metadatos valiosos sobre el estado de una compilación durante varias confirmaciones.
Matt Vukas
44
.idea/solo se necesita quien lo useAppCode
Wanbok Choi
57

Si está creando un nuevo proyecto desde cero en Xcode 6 ... ya no es necesario un archivo .gitignore largo, como señalé en mi última publicación : Apple optimizó la estructura de carpetas y archivos de proyecto estándar para cumplir con los requisitos para claro y directo git commits. Apple también ignora dos patrones de archivo de forma predeterminada si crea el repositorio git con una plantilla de proyecto Xcode:

.DS_Store
UserInterfaceState.xcuserstate

Los agregaron a su .git/info/excludesarchivo en el directorio de su proyecto. Por lo tanto, no es necesario volver a ignorarlos en .gitignore :-)

Lo único que siempre incluyo en un .gitignorearchivo es el

# Exclude personal Xcode user settings
xcuserdata/ 
código cruzado
fuente
2
¿Le importaría poner la tercera línea en la parte superior, para que no tenga que copiar dos veces cada vez que llegue a esta respuesta, por favor? ¡Espero que también reciba 133 votos a favor!
Dan Rosenstark
3
@Yar ... como describí anteriormente: la única línea que necesita en su archivo .gitignore es la exclusión de xcuserdata /. Apple ya maneja las otras dos líneas de manera predeterminada. Por lo tanto, no es necesario copiar esas tres líneas en su archivo .gitignore.
código cruzado
1
Oh! Guau. Eso es realmente algo que puedo escribir a mano. Grandes cosas, gracias por compartir y buena suerte aquí en SO.
Dan Rosenstark
6

Consulte el archivo Xcode.gitignore de Github para tener siempre una lista actualizada de qué archivos Xcode ignorar.

whyceewhite
fuente