2012-02-08 10 views
6

Estoy familiarizado con las diferencias entre grupos y directorios reales en Xcode. Siempre creo una carpeta real en el buscador y la arrastro dentro del proyecto, asegurándome de que "copiar" no esté marcada.¿Cómo puedo mover archivos y carpetas usando git en Xcode 4?

Cuando muevo carpetas, elimino los elementos solo por referencia, los muevo en el buscador y luego los vuelvo a agregar.

Ahora estoy usando git por primera vez, y descubrí en mis pruebas que si eliminé un directorio utilizando el método descrito anteriormente, no puedo hacer una confirmación. Xcode me dice que no puede cambiar al directorio porque 'no hay tal archivo o directorio'. Por lo que he encontrado en línea, no se notifica a git los cambios en el directorio cuando se hace en Xcode.

¿Cómo puedo mover carpetas de archivos & usando git en Xcode 4 y hacer que el compilador y git estén al tanto de los movimientos para poder confirmar?

+0

¿Estás ¿Está familiarizado con el uso del cliente de línea de comandos git? –

+0

No, en realidad no. Tengo el libro 'Pro Git', pero me preocupa que si elimino archivos del repositorio de git en la terminal, se estropearán los archivos en Xcode (lo que significa la forma en que xcode realiza un seguimiento de sus propios archivos). – TigerCoding

+0

Solo iba a sugerir que ejecutas 'git add --all' en tu repositorio y luego reanudar tu gestión de Xcode. –

Respuesta

3

Después de haber realizado todos los cambios en el Finder, abra una ventana de terminal y navegue hasta el directorio de su proyecto:

cd path/to/project 

continuación, ejecute este comando:

git add --all 

Este comando pondrá en escena todo de los cambios y Xcode debería poder reanudar su gestión del repositorio desde aquí.

+0

Lo probé y funciona. Una pregunta sobre eso sin embargo. El archivo que eliminé en xcode y luego lo moví al buscador. ¿Git piensa que el archivo en la posición anterior todavía está allí o simplemente "descubre" que se movió? Si es así, ¿funciona esto con recursos con los mismos nombres pero diferentes ubicaciones (como carpetas localizadas)? – TigerCoding

+0

@Javy Git es muy inteligente en estos escenarios; Por lo general, puede resultar que un archivo se haya movido y cambiado de nombre incluso si se ha modificado. Es por eso que es mejor que la subversión;) –

+0

* una de las razones por las cuales –

4

No moverá archivos en un repositorio GIT usando Finder. Será mejor que uses el comando de mover desde el caparazón.

Luego tiene que reajustar manualmente los enlaces en XCode (o eliminar/agregar archivos de nuevo).

mover un archivo es similar al comando 'mv' de Unix, con el 'prefijo git:

git mv path destination

(uso -f para anular destino ... con precaución)

+1

"No moverá archivos en un repositorio GIT usando Finder". ¿Por qué? ¿Puedes editar tu respuesta y mostrar los pasos "correctos" para eliminar (y moverte si es posible)? No soy un adicto a la línea de comandos, así que si pudiera agregarlos junto con sus pasos, sería muy útil para mí y para otros S.O. usuarios. – TigerCoding

+0

Eche un vistazo a http://jonas.nitro.dk/git/quick-reference.html También puede usar una interfaz gráfica de usuario para GIT. Yo no, así que no puedo dar ningún consejo para esto. –

+0

Entonces, ¿tendría que hacer esto para cada archivo o carpeta que se mueva? – TigerCoding

Cuestiones relacionadas