Com o git 1.8.5 (quarto trimestre de 2013) , você terá outra opção, em vez de definir --git-dir.
Se você deseja executar git logna pasta B, digite:
git -C B log
Assim como " make -C <directory>", " git -C <directory> ..." diz ao Git para ir lá antes de fazer qualquer outra coisa .
Veja commit 44e1e4 de Nazri Ramliy :
É necessário mais pressionamentos de tecla para chamar o comando git em um diretório diferente sem sair do diretório atual:
(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
Os métodos mostrados acima são aceitáveis para scripts, mas são muito pesados para chamadas rápidas da linha de comando.
Com esta nova opção, o acima pode ser feito com menos pressionamentos de tecla:
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 -no shell bash?