ด้วยคอมไพล์ 1.8.5 (ไตรมาสที่ 4 ปี 2013)--git-dirคุณจะมีทางเลือกอื่นแทนการตั้งค่า
หากคุณต้องการดำเนินการgit logในโฟลเดอร์Bให้พิมพ์:
git -C B log
เช่นเดียวกับ " make -C <directory>" " git -C <directory> ..." บอก Git ไปที่นั่นก่อนที่จะทำอะไรอย่างอื่น
ดูการกระทำ 44e1e4โดยNazri 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 shell?