Xem http://git.or.cz/gitwiki/GitTips , phần "Cách so sánh hai kho lưu trữ cục bộ" trong "Chung".
Nói tóm lại, bạn đang sử dụng biến môi trường GIT_ALTERNATE_OBJECT_DIRECTORIES để có quyền truy cập vào cơ sở dữ liệu đối tượng của kho lưu trữ khác và sử dụng git rev-parse với --git-dir
/ GIT_DIR để chuyển đổi tên biểu tượng trong kho lưu trữ khác sang định danh SHA-1.
Phiên bản hiện đại sẽ trông giống như thế này (giả sử rằng bạn đang ở trong 'repo_a'):
GIT_ALTERNATE_OB DỰ_DIRECTORIES = .. / repo_b / .git / object \
git diff $ (git --git-dir = .. / repo_b / .git rev-parse - xác định đầu)
nơi ../repo_b/.git
là đường dẫn đến cơ sở dữ liệu đối tượng trong repo_b (nó sẽ là repo_b.git thể nó là kho trần). Tất nhiên bạn có thể so sánh các phiên bản tùy ý, không chỉ các ĐẦU.
Lưu ý rằng nếu repo_a và repo_b là cùng một kho lưu trữ, thì có thể có ý nghĩa hơn khi đặt cả hai vào cùng một kho lưu trữ, bằng cách sử dụng " git remote add -f ...
" để tạo biệt hiệu cho kho lưu trữ để cập nhật lặp đi lặp lại hoặc tắt " git fetch ...
"; như được mô tả trong các phản ứng khác.