2012-03-12 17 views
9

pwd es "directorio de trabajo actual". Aquí está la situación.git pull para un repositorio local en la ubicación especificada (en lugar de pwd)

pwd:   /path/to/pwd/ 
git repository: /repo/path/.git/ 

Quiero hacer un git pull desde el origen, pero sin cambiar mi directorio actual.

Para aclarar un poco más en caso de que no soy lo suficientemente claro, este es el resultado que quiero, pero quiero hacerlo con un comando en lugar de tener que cambiar de directorio:

$ cd /repo/path 
$ git pull origin master 
$ cd - 
+0

¿Cuál es el caso de uso para esto? (Solo tengo curiosidad) – KajMagnus

+0

@KajMagnus Esto fue hace más de 5 años, sinceramente no lo recuerdo. Probablemente algo así como querer actualizar el repositorio con un solo liner para poder usar '^ r' para ejecutarlo repetidamente según sea necesario, y sin estropear la pila de directorios porque frecuentemente uso' pushd', 'popd', y' cd -'. – Matthew

+1

Posible duplicado de [git --git-dir no funciona como se esperaba] (http://stackoverflow.com/questions/1386291/git-git-dir-not-working-as-expected) – pjgranahan

Respuesta

18
git --work-tree=/repo/path --git-dir=/repo/path/.git pull origin master 
+0

Esto es bastante difícil de aplicar tal como está. ¿Puedes dar un ejemplo con un repositorio público? – Cognitiaclaeves

+0

@Cognitiaclaeves, no estoy seguro de lo que quiere decir con "difícil de aplicar"? Lo intenté y "simplemente funcionó". Debería funcionar con cualquier repositorio al que tenga acceso demasiado público o no. –

4

fiesta -c "cd/repo/ruta; git pull origen maestro"

+0

¿Realmente no hay opción de git? ¿para esto? Git está explotando con la funcionalidad, parece difícil de creer que DEBE tener su directorio de trabajo en la ubicación del repositorio o subdirectorio de la misma. – Matthew

+0

Oh, no tengo idea. Si hay una manera en que soy todo oídos! :) Solo quería darte un trazador de líneas. – sethcall

+0

sin necesidad de 'bash -c', puede usar' (list) 'para ejecutar list en una subshell:' (cd/repo/path; git pull origin master) ' –

Cuestiones relacionadas