Con git 1.8.5 (Q4 2013) , tendrá otra opción, en lugar de configurar --git-dir.
Si desea ejecutar git logen la carpeta B, escriba:
git -C B log
Al igual que " make -C <directory>", " git -C <directory> ..." le dice a Git que vaya allí antes de hacer cualquier otra cosa .
Ver commit 44e1e4 de Nazri Ramliy :
Se requieren más pulsaciones de teclas para invocar el comando git en un directorio diferente sin salir del directorio actual:
(cd ~/foo && git status)
git --git-dir=~/foo/.git --work-tree=~/foo status
GIT_DIR=~/foo/.git GIT_WORK_TREE=~/foo git status
(cd ../..; git grep foo)
for d in d1 d2 d3; do (cd $d && git svn rebase); done
Los métodos que se muestran arriba son aceptables para las secuencias de comandos, pero son demasiado engorrosos para invocaciones rápidas de la línea de comandos.
Con esta nueva opción, lo anterior se puede hacer con menos pulsaciones de teclas:
git -C ~/foo status
git -C ../.. grep foo
for d in d1 d2 d3; do git -C $d svn rebase; done
cd /other/dir && git log && cd -en bash shell?