library developer desarrollador apple iphone xcode macos version-control

developer - ¿Qué sistema de control de versiones OSX/XCode debo usar para el desarrollo de iPhone?



xcode 10.12 download (7)

He estado desarrollando mi primera aplicación de iPhone a tiempo parcial y me gustaría comenzar a utilizar una forma más rigurosa de control de versiones que la que he estado usando durante los últimos cuatro meses, es decir, copiar carpetas de código fuente en otro directorio y marcarles la hora.

He utilizado SourceSafe y Team Foundation System, pero no tengo una buena idea de qué sistemas de control de versiones (VCS) están disponibles para Macintosh. He visto anuncios en SO para un front-end de Subversion pero me gustaría algunas otras opciones.

Aquí hay una lista de mis requisitos iniciales:

  • Se ejecuta localmente bajo OS X Leopard 10.5.7
  • Se integra con XCode 3.1.3 (si no hay integración, interfaz fácil de usar)
  • Características básicas de VCS: comentarios de entrada, bifurcación, fijación
  • Las características avanzadas de VCS como la automatización de compilación o los informes serían agradables pero no críticos en este momento
  • Capacidad para manejar múltiples desarrolladores en el futuro (6-12 meses)

Gracias de antemano por la ayuda.


Parece que la subversión sería su mejor opción para XCode, ya que ya hay algunas pautas para ponerlo en marcha con XCode here . Subversion aborda todas las características de las que está hablando. Fijar específicamente es una característica de Source Safe; Sin embargo, la subversión puede hacer el etiquetado. La automatización de compilación no es una característica de un sistema de control de origen, pero los sistemas de control de origen se utilizan normalmente en escenarios de servidor de integración continua. No lo he usado, pero por lo que entiendo, Hudson es un servidor de integración continua que está ganando popularidad y gran importancia. Puedes encontrar más información sobre Hudson here y here


SVN o Subversion se incluye con Xcode y está bien integrado con él. A medida que crezca para tener mayores necesidades, puede usar servidores de Subversion de terceros y usar el mismo soporte de SVN en la red. Si no te gusta SVN, creo que XCode también soporta CVS.

Si está buscando algo adecuado, barato y expandible, simplemente vaya al menú SCM de XCode y vea lo que ya está allí. Si necesita ayuda para configurar SVN, solo comente.


Solo busqué en Xcode (3.2, sin embargo, por lo que puede que no sea exactamente el mismo) y las opciones para la integración de control de fuente son subversión, CVS y rendimiento.

Fuera de Xcode, hay un par de clientes GUI muy agradables para subversion para OS X.

La subversión sería un buen lugar para comenzar, parece.

Todos los niños geniales están usando VCSes distribuidos en estos días, aparentemente. Es posible que desee pasar media hora leyendo sobre git o mercurial (hg - mi preferencia). No hay integración directa con Xcode, pero son fáciles de encontrar.


También puse un voto para subversión ya que XCode lo apoya de forma nativa. Lo he estado usando y he sido muy feliz.

Sin embargo , cuestionaría su requerimiento de ejecutar el servidor localmente. Claro, puedes hacer eso sin problemas con la subversión. ¿Pero no estarías nervioso por la falla de tu disco duro?

He estado usando Beanstalk para alojar mi código fuente. Es gratis para hasta 3 desarrolladores, podrás actualizar tu cuenta una vez que crezcas, es rápido y seguro.



Perforce ahora es free para un máximo de veinte usuarios, pero será caro después de eso. Es posible que desee verlo, sin embargo. Xcode ya no admite la integración nativa de Perforce, aunque hay scripts y un plugin .


Mercurial sería mi elección para el control de versiones para un proyecto que comienza como un proyecto en solitario si no desea configurar un servidor dedicado. Mercurial no requiere servidor porque es un VCS distribuido, cada copia de trabajo también es un repositorio completo, por lo que una vez que haya instalado Mercurial, estará listo para comenzar, simplemente escriba ''hg init'' en el directorio raíz de su proyecto y estará listo. .

Es perfecto para trabajar solo o con una pequeña cantidad de desarrolladores (es decir, no hay personal de TI o administradores de sistemas disponibles), tiene una utilidad que le permite configurar rápidamente un servidor temporal para su repositorio local para que cuando se reúna con la gente sea fácil para ellos Para clonar el repositorio o compartir cambios. También puede simplemente dar a las personas copias de su repositorio por correo electrónico o llave USB o copiarlas a través de la red o lo que sea, y reconciliar los cambios de las copias entre sí más adelante.

Para mí, Mercurial hizo la diferencia entre usar un VCS para proyectos personales y simplemente darse por vencido porque es demasiado problema. Configurar un servidor de Subversion localmente no es un gran problema, pero sigue siendo un problema suficiente para que no me moleste, y si realmente quiere ser concienzudo, querrá pensar en cómo hacer las copias de seguridad adecuadas, etc. Con Mercurial en cualquier momento. puede simplemente hacer una copia de seguridad de su copia de trabajo en otro medio y tiene una copia de seguridad. No sé si esto realmente tiene sentido, pero Mercurial es un VCS que puede usar de manera informal e informal gracias a la naturaleza distribuida.

No hay integración con Xcode, pero después de haber utilizado varios VCS con y sin integración, no creo que sea muy importante mientras haya buenos clientes disponibles. En estos días, me he decidido principalmente a pasar la línea de comandos y es refrescante.

Perforce, IMO, está bien. Además de ser un producto comercial, es más allá de lo creíble. Requiere que estés conectado a un servidor en todo momento o las cosas se convierten en un gran problema en el culo. Por lo tanto, si solo desea trabajar en cosas de varias máquinas en múltiples ubicaciones o si desea que haya personas en el proyecto que no estarán en la misma red todo el tiempo, será un desastre. Perforce simplemente te golpea constantemente en la cabeza con el hecho de que estás usando Perforce, ningún otro VCS que he usado es tan molesto como te parece.

Git es otra opción con una característica similar a Mercurial que vale la pena ver. En mi caso, también hago cosas de Windows y el soporte de Git para Windows es supuestamente una mierda, así que opté por algo que funciona en todas mis plataformas.

La automatización de compilación La OMI es el trabajo del servidor de compilación, no el trabajo de VCS, por lo que si desea automatización de compilación, busque el servidor de compilación adecuado.