Với git 1.8.5 (Q4 2013) , bạn sẽ có lựa chọn khác, thay vì cài đặt --git-dir
.
Nếu bạn muốn thực thi git log
trong thư mục B
, gõ:
git -C B log
Giống như " make -C <directory>
", " git -C <directory> ...
" bảo Git đến đó trước khi làm bất cứ điều gì khác .
Xem cam kết 44e1e4 của Nazri Ramliy :
Phải mất nhiều lần nhấn để gọi lệnh git trong một thư mục khác mà không cần rời khỏi thư mục hiện tại:
(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
Các phương thức hiển thị ở trên có thể chấp nhận được đối với kịch bản nhưng quá cồng kềnh đối với các yêu cầu dòng lệnh nhanh.
Với tùy chọn mới này, việc trên có thể được thực hiện với ít lần nhấn phím hơn:
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 -
trong vỏ bash?