tipos tag remove qué practices oneline log hace existen etiquetas crear best git github xcode4 push

tag - tipos de etiquetas en git



En XCode 4, ¿cómo puedo agregar un repositorio remoto de GitHub a un proyecto local existente? (3)

¡Creo que encontré la forma de Xcode de enviar un proyecto existente a GitHub o cualquier otro repositorio remoto!

Condiciones previas

  • Supongo que tienes un proyecto creado por Xcode 4 con un repositorio git local.
  • Usted creó un repositorio remoto de git vacío (lo llamo RemoteRepository en el siguiente ejemplo)

Empujarlo a control remoto

  1. Abre el Organizador en Xcode y ve a la pestaña Repositorios

  2. Primero haga clic en Remotos y luego en "Agregar Remoto"

  3. Ingrese un Nombre Remoto y la Ubicación de su repositorio remoto y haga clic en crear

  4. Luego seleccione su proyecto y abra File -> Source Control -> Push ...

  5. ¡Seleccione su repositorio remoto y espere hasta que se pueda conectar! Busque el Crear en los corchetes.

  6. Ahora su antiguo proyecto está publicado en GitHub

¡Espero que funcione también para ti! En mi caso, funciona con todos los repositorios remotos de git .

Por favor contáctame en twitter si algo no está claro o escribiste en mal inglés!

La integración de Git en XCode 4 es muy bienvenida, sin embargo, parece ser un poco escabrosa cuando se trata de tratar con repositorios remotos. Para mayor claridad, estoy usando OS X versión 10.6.7 y XCode 4.0.2 (4A2002a).

Si creo un nuevo proyecto de XCode 4 y acepto la opción de crear un repositorio local de Git, todo está bien. Puedo comprometerme localmente y eso es genial.

Cuando quiero enviar el nuevo proyecto a GitHub, quiero agregar un repositorio remoto y enviar mis cambios locales a GitHub. Puedo agregar un repositorio de GitHub a XCode 4 como un nuevo repositorio en la ventana de Organizador, pero no hay un método para configurarlo como un repositorio remoto para mi proyecto existente.

Entonces cambio a usar comandos de git en la Terminal.

git remote add origin https://<username>@github.com/<organization>/<repository>.git

Si luego vuelvo a XCode 4 y trato de usar

Archivo -> Control de fuente -> Empujar ...

luego, elija Elegir el repositorio al que desea cambiar. aparece el cuadro de diálogo que enumera el repositorio remoto de origen . Hay un indicador amarillo que indica que se requiere Autenticación, lo cual está bien ya que aún no he podido ingresar mis credenciales para HTTPS. Sin embargo, cuando hago clic en ''Empujar'' e intenta presionar los cambios, dice "La operación no se pudo realizar porque se denegó el acceso al ''origen'' del repositorio".

A continuación, aparece un cuadro de diálogo que me solicita mi nombre de usuario y contraseña con mi cuenta de precompletado, por lo que debe leer esto correctamente desde la configuración del repositorio local.

Cuando ingreso mi contraseña XCode 4, se bloquea con el siguiente error

ASSERTION FAILURE in /SourceCache/IDEKit/IDEKit-303/Framework/Classes/SourceControl/IDESourceControlOperationInfo.m:59 Details: Message sent to invalidated object: <IDESourceControlPushOperationInfo, 0x200bd2a80>. Backtrace for invalidation: (null) Object: <IDESourceControlPushOperationInfo: 0x200bd2a80> Method: -invalidate Thread: <NSThread: 0x200020700>{name = (null), num = 1} Hints: None

Si reinicio XCode, se ha agregado un repositorio de origen al navegador Repositories en Organizer y puedo ver la rama principal en GitHub, así que sé que las credenciales son correctas sin que yo cambie nada.

¿Alguien ha encontrado una forma confiable de usar XCode 4 con GitHub comenzando con un proyecto local primero?

Si clono un repositorio GitHub existente con un proyecto XCode en él, ábralo con XCode 4 y, a pesar de que el primer Push parece fallar, el segundo push funcionó. Así que quizás comenzar desde cero con XCode 4 creando el repositorio para mí no es el mejor patrón (hasta que mejoren las herramientas de Git en una versión posterior de XCode 4).

EDITAR CON MÁS DETALLES DE UNA SOLUCIÓN

Este ejemplo solo se aplica realmente al primer proyecto que está agregando a un repositorio de GitHub. Como tal, creo que está mejor con los siguientes pasos, teniendo en cuenta que todavía parece haber algunos "errores" de XCode en esta solución.

  1. Artículo de lista
  2. ''Conectarse a un repositorio'' desde Bienvenido al cuadro de diálogo XCode.
  3. Usar la URL de GitHub SSH para la ubicación
  4. Dale un nombre ( RepositoryName ) y clona en un directorio
  5. El primer intento parece fallar aunque se descarguen los contenidos
  6. Inténtalo de nuevo y funciona.
  7. Ahora se ha definido un nuevo repositorio en la ventana Organizador con su origen establecido en la URL SSH remota de GitHub.
  8. Cree un nuevo proyecto dentro del directorio en el que acaba de clonar, pero NO marque la opción ''Crear repositorio git local para este proyecto''.
  9. Realiza la confirmación inicial al repositorio local de Git.
  10. Pruebe Source Control -> Push y XCode 4 falla con ''La operación no se pudo realizar porque se denegó el acceso al repositorio RepositoryName . Verificar nombre de usuario y contraseña ''
  11. Pruebe Source Control -> Push y XCode 4 vuelve a abrir el diálogo de Repositorio remoto, pero esta vez ha detectado un Repositorio remoto llamado origen . Junto a él hay una bola amarilla y se requiere ''Autenticación''.
  12. Al hacer clic en "Empujar" nuevamente, el Push remoto comenzó a funcionar.

Una cosa que he detectado y que aún no logro resolver es que los mensajes de respuesta de GitHub con el valor hash checkin y cualquier mensaje parecen ser informados en el navegador de XCode Log como fallas de Push, aunque el Push es exitoso en cuanto a GitHub está preocupado.

¿Alguien más tiene una mejor solución?


Lo he hecho con éxito usando una conexión ssh (que se parece a [email protected]:<username>/<project>.git ). Autentica al usuario en base a una clave pública SSH, que puede generar en la línea de comando, muchos documentos sobre eso en github en la sección de "ayuda".


Xcode 6.2 (y posiblemente 6.x) cambió las cosas. Ya no hay una pestaña Repositorios en el Organizador. A continuación, le mostramos cómo hacerlo con los Xcodes más nuevos.

Para agregar un proyecto con un repositorio git local a GitHub, esto es lo que debes hacer:

  1. Vaya al menú Control de fuente, elija su proyecto y seleccione Configurar:
  1. Verás:
  1. Seleccione la pestaña Remotos, y presione el "+" en la esquina inferior izquierda. Seleccione Agregar control remoto.
  1. Escriba un nombre para el repositorio remoto y escriba la URL para su repositorio remoto. Asegúrese de haber creado ya este repositorio remoto, y si está en GitHub, haga que especifique que se trata de un proyecto existente, y no uno nuevo.
  1. Ya casi terminas. Ve al menú de Control de fuente y selecciona Empujar. A continuación, verá el nombre del repositorio que usó en el último paso, algo así como "más simple / maestro"; presione el botón.

Hecho.