¿Se puede integrar git con Xcode?

121

¿Hay alguna forma de usar un repositorio git con las funciones SCM integradas de Xcode?

Gordon Wilson
fuente
¿Puede ser oficial pronto con suerte ?: twitter.com/pjhyett/status/15685549082
gef
16
Xcode 4 está en versión beta (no hay descarga abierta todavía) y tiene soporte Git incorporado.
Kendall Hopkins
3
@Kendall: Si bien Xcode 4 Developer Preview todavía no es una descarga general, ahora está disponible para todas las cuentas de desarrollador pagas.
Matt B.
2
Dado que Xcode4 GM ya está fuera, este hilo debe actualizarse ...
nacho4d
1
Para el registro: XCode 4 ya está disponible y es gratuito para los usuarios de OSX Lion
ErJab

Respuestas:

74

Xcode 4 admite git de forma nativa (Dirección de estado de la Unión de herramientas para desarrolladores en WWDC 2010)

Obtenga más información aquí: Novedades de Xcode 4
La documentación de Apple es extensa, pero es una buena lectura.

TodK
fuente
3
Es asombroso escuchar eso. ¿Alguna palabra sobre el soporte de Mercurial (hg)?
Dave
1
no parece así ... ni una palabra en un sistema de complementos.
TodK
44
: D Esto me alegró el día! No puedo esperar
Vortico
OMGEEZ! No tenía idea ... Esto me hace muy feliz ... ¿Alguna noticia sobre la fecha de lanzamiento?
tybro0103
El enlace del documento está roto
anki el
73

NOTA: a pesar de todos los votos positivos, esta respuesta no está actualizada a junio de 2010


No hay soporte git dentro de Xcode, pero esa no es razón para no usar git para sus proyectos Xcode. He tenido buenos resultados administrando mis proyectos de Xcode usando la línea de comando git estándar o GitX .

Shane Vitarana tiene un buen conjunto de .gitignore configuraciones para usar como punto de partida.

Abie
fuente
Agregar estos dos a mi .gitignore causa una compilación de xcode rota para clones.
jkyle
39

Una buena manera de "Integrar" git con Xcode es usar DTerm . Aparece DTerm en una ventana flotante con una combinación de teclas. DTerm conoce la ruta completa al documento actual en el editor.

Por ejemplo, para ejecutar un archivo diff en el archivo que está editando:

1) Presione Ctrl-Retorno para abrir la ventana DTerm. (Este combo de teclas es configurable).

2) escriba 'git diff cmd-shift-V'. Eso sobrescribirá el último comando cuando comience a escribir e inserte el nombre del archivo actual en la ventana. Dado que su directorio de trabajo está configurado en el directorio padre del archivo seleccionado, el comando es agradable y breve.

No tengo ninguna conexión con Decimus. Solo soy un usuario satisfecho que ha ejecutado miles de comandos a través de DTerm.

Editar : A partir del 27 de agosto de 2009, DTerm es gratuito. Si compró su copia de DTerm, la actualización a la próxima versión es gratuita, independientemente de cuándo compró DTerm. Ver su publicación de blog

Edición 2 : DTerm ahora está disponible en la Mac App Store. Será interesante ver si cumplieron la promesa que hicieron en su blog.

marca
fuente
8
Mark: no tienes idea de lo feliz que me has hecho. ¡No puedo creer que haya estado viviendo sin DTerm todo este tiempo!
Mark Aufflick
Me encontré con algo pequeño: es cmd-shift-V en lugar de ctrl-shift-V.
Courtney Faulkner
¡Dterm es absolutamente increíble! - Cuando funciona. Es muy defectuoso con su última versión y la última 10.6.6. ¡Mataría por tener esto funcionando bien!
Yuji 'Tomita' Tomita
Intenta eliminar el archivo de preferencias. No he tenido problemas con eso. Lo he estado usando por mucho tiempo. ¿Su inicio de sesión utiliza el inglés como idioma y entrada de caracteres?
Mark
15

Además de la configuración .gitignore a la que se hace referencia en la publicación anterior, agregué los archivos generados a mi archivo de configuración.

build /
* .pyc
* ~ .nib /
* .pbxuser
* .perspective
* .perspectivev3
* .xcworkspace /
xcuserdata /

Esto ayuda a mantener el ruido fuera de mi depósito.

Si necesito agregar archivos generados, agrego una carpeta Release y mantengo las carpetas * .framework y * .app en mi directorio de proyecto. Agrego todo lo que libero al grupo de prueba a la carpeta Liberar y lo etiqueto.

marca
fuente
10

No, no lo hay, y para ser honesto, estoy bastante agradecido, ya que el soporte de SVN en Xcode me pareció realmente extraño. Después de mudarme a Git para mis proyectos personales, solo tengo una ventana de Terminal abierta que puedo activar git addy git commitsegún sea necesario.

Daniel Hill
fuente
4

Xcode no tiene una API de complemento pública, por lo que no, no hay forma de agregar directamente soporte para git a Xcode.

Sin embargo, puede crear scripts para el menú de scripts de Xcode que pueden realizar varias operaciones de git.

Chris Hanson
fuente
3

No creo que haya una manera de proporcionar soporte de complementos para Xcode. Entonces, hasta que Apple se caliente a git, nos quedaremos atrapados con herramientas de terceros y la línea de comandos. No es que sea algo malo ...

Chris Stewart
fuente
3

Bueno, hay una cosa llamada git-cvsserver que le permite a git pretender que es CVS. Pero no sé el estado de las cosas al respecto, o el soporte de CVS en Xcode.

Jasper Bekkers
fuente
3

El último Xcode 4 beta tiene integración git, sin embargo, no lo instala de manera predeterminada, ni usa su git actualmente instalado.

Lo que tenía que hacer era instalar la opción "Herramientas del sistema" en el instalador de Xcode. (Que se omite de forma predeterminada) después de eso, el organizador reconoció que mi proyecto ya estaba bajo control de git y se integró sin problemas.

jschank
fuente
2

Con Xcode 4 si desea usar su propia versión de Git, puede crear un enlace simbólico desde / usr / bin / git a cualquier lugar donde haya instalado su binario Git

Robert Conn
fuente
0

Yo uso editores externos de todos modos. Muchos de ellos admiten comandos git. De esta manera, git está "integrado" en Xcode

Yan Zhou
fuente
1
¿Puedes dar un ejemplo de editores externos con integración de git en mac?
zakishaheen
0

Me pregunto si se puede hacer un reiniciador usando las funciones de scripting de Xcode. comprobar: http://www.cimgf.com/category/version-control/git/

Por cierto, si Xcode no puede hacer el trabajo, eclipse puede hacer el trabajo pero puede faltar la API de cacao, etc.

RzR
fuente