¿Cuáles son las mejores prácticas al incluir un proyecto Xcode bajo control de versión?xcodeproj bajo control de versión
Respuesta
Esto es lo que está en mi .gitignore
archivo Global que se puede ver como un gist en GitHub, pero la lista de Xcode se puede aplicar a otros sistemas
# Mac OS X
*.DS_Store
# Xcode
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
*.xcuserstate
project.xcworkspace/
xcuserdata/
# Generated files
*.o
*.pyc
#Python modules
MANIFEST
dist/
build/
# Backup files
*~.nib
\#*#
.#*
En mi proyecto tengo Project.xcodeproj/project.pbxproj
en control de versiones y omito los archivos User.mode1v3
y User.pbxuser
.
project.pbxproj parece contener los metadatos del proyecto, como dónde se encuentran los archivos y cuáles son las configuraciones de compilación.
Los archivos de usuario tendrían cosas como las que se abren los archivos, donde está el cursor, etc.
También puede hacer referencia a THIS pregunta para qué archivos algunas personas han optado por ignorar.
Fecha de project.pbxproj
, ignorar el usuario archivos específicos.
Incluya los componentes compartidos y las bibliotecas de terceros como dependencias de proyecto utilizando submódulos/externos/lo que sea compatible con su VCS en lugar de copiar manualmente los binarios de la biblioteca estática sin ningún historial.
Obtendrá conflictos de combinación en el project.pbxproj
, prepárese para tratar esto y trate de minimizar la dificultad de resolverlos.
- Disponga de una estructura coherente para saber dónde deben estar los archivos en el disco y cómo se correlaciona con los grupos en Xcode.
- Ordene los recursos incluidos en sus objetivos de compilación y el orden de los recursos dentro de los grupos de su proyecto. Realmente necesito escribir un script para hacer esto por mí, porque es mucho más fácil identificar la causa de un conflicto de fusión cuando no tiene que modificar dos conjuntos aleatorios de archivos. También evita muchos conflictos de fusión, ya que es menos probable que varios desarrolladores añadan nuevos recursos al final de una lista.
Regístrese temprano y con frecuencia.
- 1. ¿Qué poner bajo control de versión?
- 2. ¿Debo mantener mis archivos de proyecto bajo control de versión?
- 3. Archivos Gettext .po bajo el control de versión
- 4. svn: ignorar 'archivo' no está bajo el control de versión
- 5. ¿Deben los archivos .class estar bajo control de versión?
- 6. Control de versión encriptada
- 7. Control de versión segura
- 8. Control de versión portátil?
- 9. ¿Control de versión ágil?
- 10. Aplicaciones de Grails y control de versión
- 11. ¿Cómo puedo obtener mi base de datos bajo control de versión con Perl?
- 12. ¿Deben mantenerse las clases de prueba unitarias bajo control de versión con el resto del código?
- 13. Control de versión de documento
- 14. ¿Cómo maneja los archivos individuales del desarrollador bajo el control de la versión?
- 15. Delphi 7 .dof y .cfg: ¿debería rastrearlos bajo control de versión?
- 16. ¿La mejor práctica para mantener el código fuente bajo control de versión con varias compañías?
- 17. ¿Debo conservar el archivo MANIFEST que setup.py genera bajo control de versión?
- 18. Debería poner la carpeta .el paquete bajo el control de versión
- 19. SVN: ¿La carpeta ya está bajo control de versión pero no se está iniciando?
- 20. ¿Cómo se puede colocar un portal Liferay bajo control de versión?
- 21. práctica recomendada para almacenar archivos no fuente bajo el control de versión
- 22. ¿Qué archivos en un proyecto Java Netbeans deben colocarse bajo control de versión?
- 23. SVN piensa que los archivos ya están bajo el control de versión
- 24. ¿Debería Resources.Designer.cs estar bajo control de fuente?
- 25. control de versión para novato
- 26. Autotools y control de versión
- 27. Documentación y control de versión
- 28. Implementando la versión Control de objetos DB
- 29. Control de versión en una unidad USB de 2GB
- 30. Versión de control de bases de datos
Quitaría la parte de "Módulos Pyhon" de esto, ya que probablemente no sea relevante para muchos proyectos XCode –
Es __My__ .gitignore, que tiene más configuraciones específicas que Xcode. – Abizern