С git 1.8.5 (4 квартал 2013 г.) у вас будет другой выбор вместо настройки --git-dir.
Если вы хотите выполнить git logв папке B, введите:
git -C B log
Точно так же, как " make -C <directory>", " git -C <directory> ..." говорит Git пойти туда, прежде чем делать что-либо еще .
См совершать 44e1e4 по Назри Ramliy :
Чтобы вызвать команду git в другом каталоге, не выходя из текущего каталога, требуется больше нажатий клавиш:
(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
Показанные выше методы приемлемы для написания сценариев, но слишком громоздки для быстрого вызова командной строки.
С помощью этой новой опции вышеуказанное можно сделать с меньшим количеством нажатий клавиш:
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 -в оболочке bash?