Див. Http://git.or.cz/gitwiki/GitTips , розділ "Як порівняти два локальні сховища" у "Загальні".
Якщо коротко, ви використовуєте змінну середовища GIT_ALTERNATE_OBJECT_DIRECTORIES для доступу до бази даних об'єктів іншого сховища, а git rev-синтаксичний аналіз з --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 - перевірити ГОЛОВУ)
де ../repo_b/.git
шлях до об’єктної бази даних в repo_b (це було б repo_b.git, якби це було голове сховище). Звичайно, ви можете порівнювати довільні версії, а не лише головні.
Зауважте, що якщо repo_a та repo_b є одним і тим же сховищем, може бути доцільніше розмістити їх обох у одному сховищі, використовуючи " git remote add -f ...
" для створення псевдоніму (-ів) для сховища для повторних оновлень, або вимкнути " git fetch ...
"; як описано в інших відповідях.