2010-09-21 11 views
7

Tenemos un servidor de transición que usamos git para administrarlo de manera muy simple: desarrolla localmente, git commit/push, y luego git pull en el servidor. Me encantaría poder cambiar el usuario en la copia del servidor para poder ejecutar el git pull en lugar de la persona que configuró el entorno. Alguna idea si esto es posible?¿Es posible cambiar al usuario en un git repo?

Respuesta

5

Sólo chown -R (o chgrp -R y chmod -R g+w) del repositorio que desea ser capaz de git pull en. Git no tiene permiso para realizar comprobaciones propias, lo difiere según el mecanismo de acceso que use. En el caso de acceso local y SSH, como aparentemente está usando, eso es solo propiedad regular del archivo OS.

+0

¿Se refiere a "el repositorio remoto" (el repositorio desnudo que actúa como maestro) o la "copia de trabajo" (para usar un término svn - el repositorio que está en el servidor intermedio)? – pjmorse

+0

Cualquiera que sea el repositorio en el que quiera 'git pull'. (He modificado mi respuesta para aclarar). –

+1

@pjmorse: Sí, Aristóteles Pagaltzis significa el repositorio remoto. Todo lo que git sabe sobre el repositorio está en .git, así que cambia al usuario en .git y listo. –

3

Hay una gran repo en github llamada gitswitch que le permitirá cambiar entre usuarios git: https://github.com/joealba/gitswitch

Desde el readme:

establecer fácilmente/cambiar su información de usuario git actual para un git repo .git/config o su archivo global ~/.gitconfig.

Esta joya debe ser útil si tiene repositorios personales y de trabajo . También podría ayudar con el cambio entre usuarios mientras se programa la programación de .

¿Prefiere escribir "git config user.email" [email protected] '", etc. o tipo" gitswitch switch work "? Si respondió esto último, consulte esta joya.