2011-11-15 18 views
17

He estado buscando una solución con Bitbucket y XCode.Bitbucket + XCode 4.2 + Git

Como todos saben, XCode 4.2 viene con soporte git. He creado una cuenta bitbucket y quería empujar mis cambios al repositorio,

He seguido este tutorial https://confluence.atlassian.com/display/BITBUCKET/Use+the+SSH+protocol+with+Bitbucket

Sin embargo este es el problema que estoy enfrentando. Cuando estoy en el Organizador - Sección de repositorios en XCode, voy a la carpeta de remotos y creo un repositorio.

ssh: //[email protected]/username/myrepo.git

Sin embargo, cuando me piden nombre y contraseña, los que más me proporciona como nombre de usuario y contraseña falla. También probé con git como usuario, pero no tuve suerte.

ACTUALIZACIÓN:

He creado un archivo ~/.ssh/config donde he añadido una configuración específica para bitbucket.

Host bitbucket.org 
HostName bitbucket.org 
IdentityFile ~/.ssh/bitbucket 
User username 

Lo he probado con ssh -T [email protected] y funciona, que se autentica.

Sin embargo, cuando pruebo esto con XCode recibí el siguiente error. "Falló la autenticación porque el nombre o la contraseña eran incorrectos".

Sé que me falta algo aquí.

ACTUALIZACIÓN 2:

he conseguido resolver el problema, pero sólo desde la línea de comandos, no desde XCode. voy a publicar mi solución más tarde, pero no dude si usted tiene una manera de hacerlo desde XCode

Gracias

Respuesta

17

Funcionó para mí usando el URI de HTTPS, pero necesitaba eliminar mi nombre de usuario de él. Por ejemplo el cambio:

https://[email protected]/username/myrepo.git

a

https://bitbucket.org/username/myrepo.git

entonces la oferta de su nombre de usuario y contraseña cuando se le solicite.

+0

2 días, gracias. finalmente lo hice :) – kemdo

+0

El valor predeterminado para mí fue ssh: // git @ bitbucket .... y tuve que cambiarlo a https: // bitbucket ... Gracias por su ayuda –

0

Usted tiene que agregar su clave SSH generado a su cuenta.

utilizo GitHub, pero BitBucket es básicamente un clon de la misma manera se aplican los mismos procedimientos:

cat ~/.ssh/id_rsa.pub | pbcopy 

Ahora intenta volver a conectar.

+0

Gracias Blender, pero ya he pegado las claves para bitbucket. Sin embargo, me di cuenta de que tenía varias claves ssh, por lo que he actualizado mi pregunta. – raul782

+1

solo una pequeña sugerencia, no use gato aquí. pbcopy <~/.ssh/id_rsa.pub – Frizi

0

Ok Parece que no pude pasar por XCode Client.

Sin embargo, la línea de comando es la única forma en que logré impulsar mis cambios, y XCode solo me ayudó a configurar el repositorio remoto y agregar las credenciales.

Finalmente lo que acabo tenía que hacer es:

$git push myrepo master 

y me dieron un mensaje de éxito:

Counting objects: 7, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (4/4), done. 
Writing objects: 100% (4/4), 360 bytes, done. 
Total 4 (delta 3), reused 0 (delta 0) 
remote: bb/acl: username is allowed. accepted payload. 
To ssh://[email protected]/username/myrepo.git 
123abcd..5a12a67 master -> master 
4

yo era capaz de utilizar la interfaz de usuario XCode mediante la dirección URL https y ingresando mi nombre de usuario y contraseña bitbucket cuando se me solicite.

14

Eliminar el nombre de usuario no funcionó para mí. Pero yo era capaz de resolver el problema agregando mi contraseña como esta para la URL:

https://username:[email protected]/username/myrepo.git

+0

Esto funcionó para mí también, pero me pregunto si es seguro. Sospecho que Xcode almacena mi contraseña en algún lugar en texto plano ahora. – icant

+2

I proteger con contraseña el mac :) –

+0

Esto funcionó para mí. Gracias por esta información – 1amtoo1337

1

Puede resolver este problema en XCode sin ir a la línea de comandos. Tuviste todo bien en tu pregunta, pero configuraste el URL incorrecto.

Debería ser: [email protected]: nombre de usuario/myrepo.git

En lugar de lo que tenía: ssh: //[email protected]/username/myrepo.git

+0

SSH es útil si la verificación en dos pasos está habilitada. –

0

sé Ya hay varias respuestas, pero parece que no puedo hacer que funcione para mí hasta una hora, así que tal vez estoy ayudando a alguien allí.

Mi solución era simplemente para añadir mi nombre de usuario a https://bitbucket.org/USERNAME/PROJECT_NAME/admin/access como administrador es así, tan sólo pudiera normalmente escribir en Xcode como URL https://[email protected]/USERNAME/PROJECT_NAME.git con mi nombre de usuario y contraseña.

IMPORTANTE: USERNAME significa el usuario HOSTING del proyecto, por lo que si está trabajando en el repositorio de su colega, este será su nombre de usuario.

Espero que esto ayude.

0

Pude hacer que XCode aceptara y use mi clave SSH que había configurado previamente con Bitbucket especificando git como el nombre de usuario (en la interfaz de usuario XCode) y poniendo mi contraseña, y mi nombre de usuario de Bitbucket va en la URL del repositorio

Tuve que perder el tiempo unas cuantas veces antes de que comenzara a funcionar.

2

Aquí es un intento de una respuesta completa ...

Cree una clave bitbucket si no se ha utilizando ssh-keygen. Elija un nombre decente, algo así como bitbucket_rsa asumiendo que crea una clave rsa. Póngalo en ~/.ssh/.

Una vez que esto se crea, añadir:

Host bitbucket.org 
HostName bitbucket.org 
IdentityFile ~/.ssh/<bitbucket key filename above> 

a su ~/.ssh/config.

A continuación, agregue esta clave a la interfaz web de Bitbucket con la herramienta Manage Account > SSH Keys. Para obtener la clave pública en su uso del portapapeles:

$ pbcopy < ~/.ssh/<bitbucket key filename above>.pub 

Por último, asegúrese de que está utilizando la dirección proporcionada por ssh Bitbucket vs el https uno.Se ven como:

[email protected]:accountname/repositoryname.git 

y se puede acceder por la caída HTTPS down etiquetado (actualmente en la barra lateral derecha).

Xcode (incluido Xcode 5) ahora debería funcionar, al igual que git desde la línea de comandos.

3

iOS 9.2, Xcode 7.2, ARC permitió

Parece que cada vez que se inicia un nuevo proyecto de Xcode, tengo que rastrear de nuevo a este post y otros como él para armar una solución para conseguir mi * repositorio de .git configurado para el nuevo proyecto. Mi objetivo con esta respuesta es actualizar y compilar una solución completa. Gracias a todos los colaboradores originales, especialmente "trolley".

Para una descripción muy completa, por favor consulte este enlace: http://www.appcoda.com/git-source-control-in-xcode/

1. Crear su nuevo proyecto de Xcode como de costumbre, pero asegúrese de que habilite el control de código fuente, ver más abajo:

Si que no has hecho esto, y luego ir aquí para ver cómo hacerlo una vez que el proyecto ya está creado: https://stackoverflow.com/a/17790306/4018041

Enable source control when creating your project.

2. En la barra de herramientas superior, seleccione Control de código fuente -> "rama actual" -> Configurar "el nombre del proyecto", ver más abajo:

Configure the source control

3. Elija mandos a distancia de la pestaña del menú de configuración , golpeó el signo "+" y seleccionar "Añadir a distancia", véase a continuación:

Add remote source

4. Se le pedirá que introduzca el nombre del repositorio e introduzca la dirección de la r epository, ver más abajo:

Aquí deberá usar las instrucciones de "trolley" proporcionados aquí: https://stackoverflow.com/a/9271409/4018041

https://bitbucket.org/username/myrepo.git 

En el ejemplo anterior, "myrepo" es el nombre del repositorio en bitbucket.org; pero localmente puede asignar cualquier nombre que desee, el nombre predeterminado es "origen" como se ve en la imagen a continuación.

Enter a repository name and address

5. Introduzca el nombre de usuario y la contraseña que utiliza para acceder a su cuenta bitbucket.org, ver más abajo:

Su nombre de usuario es más probable que el correo electrónico que utilizó para registrarse .

Credentials for the repository

6. Después de pulsar Aceptar y si se aceptaran las credenciales, entonces usted debe conseguir un mensaje de marca de verificación verde. ¡Eso es!

Después de esto, puede controlar la fuente-> Introduzca su * .git local en su repositorio de bitbucket.org, que se denomina localmente como "origen" (valor predeterminado).

Push local *.git repository to origin

Un texto similar con una marca de verificación verde aparecerá al pulsar con éxito hasta el repositorio bitbucket.org.

Nota: Asegúrese de realizar un cambio inicial para el proyecto para que su * .git local se cree correctamente.

Espero que esto ayude a alguien. ¡Aclamaciones!

+0

Incluso puede sincronizar con el protocolo SSH proporcionando una URL SSH ([email protected]: username/myrepo.git) en el paso 4. Esto es útil si se habilita la verificación en dos pasos. –

+0

[Mad Hacker] (http://stackoverflow.com/a/14146625) mostró esto. –

+0

kudos @ serge-k, gracias por esto. –