ดูที่http://git.or.cz/gitwiki/GitTipsส่วน "วิธีเปรียบเทียบที่เก็บข้อมูลในเครื่องสองแห่ง" ใน "ทั่วไป"
ในระยะสั้นคุณกำลังใช้ตัวแปรสภาพแวดล้อม GIT_ALTERNATE_OBJECT_DIRECTORIES เพื่อเข้าถึงฐานข้อมูลวัตถุของที่เก็บอื่น ๆ และใช้git rev-parseด้วย--git-dir
/ GIT_DIR เพื่อแปลงชื่อสัญลักษณ์ในที่เก็บอื่นเป็นตัวระบุ SHA-1
รุ่นที่ทันสมัยจะมีลักษณะเช่นนี้ (สมมติว่าคุณอยู่ใน 'repo_a'):
GIT_ALTERNATE_OBJECT_DIRECTORIES = .. / repo_b / .git / วัตถุ \
git diff $ (git --git-dir = .. / repo_b / .git rev-parse - ตรวจสอบ HEAD) HEAD
โดยที่../repo_b/.git
เป็นเส้นทางไปยังฐานข้อมูลวัตถุใน repo_b (จะเป็น repo_b.git หากเป็นที่เก็บเปลือย) แน่นอนว่าคุณสามารถเปรียบเทียบเวอร์ชันที่กำหนดเองได้โดยไม่เฉพาะกับ HEAD
โปรดทราบว่าถ้า repo_a และ repo_b เป็นที่เก็บเดียวกันมันอาจจะเหมาะสมกว่าที่จะวางทั้งสองไว้ในที่เก็บเดียวกันโดยใช้ " git remote add -f ...
" เพื่อสร้างชื่อเล่นสำหรับพื้นที่เก็บข้อมูลสำหรับการอัพเดทซ้ำ ๆ หรือเลิกใช้git fetch ...
"; ตามที่อธิบายไว้ในคำตอบอื่น ๆ