2010-10-28 27 views
18

Soy bastante nuevo en git. Tengo una configuración repo en un servidor (A) donde el acceso es a través de ssh claves rsa. Tengo algunos usuarios allí incluido yo mismo. Ahora hago git clone en mi máquina local y obtengo una copia local, hago cambios, y push origin master, todo funciona bien.Git Pull: Cambiar la autenticación

El problema que estoy experimentando es que nuestro servidor de prueba (servidor B) ya tiene todo configurado y lo que me gustaría hacer es extraer mis últimos cambios a ese servidor. El servidor de prueba también tiene varios usuarios, así como www-data como propietario del directorio completo (que ejecuta Apache).

Al iniciar sesión a través de SSH usando mi nombre, no puedo git pull, dice .git está bloqueado, entonces hago sudo git pull que me pide la contraseña para un usuario diferente (usuario1). No conozco esa contraseña y me gustaría eliminar a ese usuario por completo, pero antes de hacerlo, tengo que cambiar el git repo en el servidor de prueba para extraer los cambios usando MY authentication (kovshenin) y no user1.

¿Cuál es la forma correcta de hacerlo? No me gustaría eliminar todo y comenzar desde un clon nuevo, ya que tiene algunos cambios locales.

Respuesta

34

Después de tres horas de buscar y jugar, he encontrado la respuesta yo mismo. Los detalles de autenticación se almacenan en el archivo .git/config bajo la configuración url en la sección [remote "origin"].

+14

Bueno, puede usar el comando 'git remote -v' para mostrar la configuración remota actual y hacer un 'git remote set-url ssh: // you @ location ...' No necesita editar archivos de configuración directamente – tvlooy

+2

Necesitaba agregar 'origen': git remote set-url origen https: // usera @ .... – Bryji