Существует два сценария сравнения файлов:
Сценарий 1. Сравнение файлов в удаленных ветвях (обе ветки должны существовать в удаленном хранилище)
Сценарий 2: Сравните локальные файлы (в локальной копии рабочей области) с файлами в удаленном хранилище.
Логика проста. Если вы предоставите для diff два имени филиала, он всегда будет сравнивать удаленные ветви, а если вы предоставите только одно имя ветви, он всегда будет сравнивать вашу локальную рабочую копию с удаленным репо (который вы указали). Вы можете использовать диапазон для предоставления удаленных репозиториев.
напр. оформить заказ
git checkout branch1
git diff branch2 [filename]
в этом случае, если вы укажете имя файла, он сравнит вашу локальную копию имени файла с удаленной веткой с именем « branch2 ».
git diff branch1 branch2 [filename]
в этом случае он будет сравнивать имя файла из удаленных веток с именем " branch1 " против " branch2 "
git diff ..branch2 [filename]
в этом случае он также сравнивает имя файла из удаленных веток с именем " branch1 " и " branch2 ". Итак, так же, как и выше. Однако, если вы только что создали ветку из другой ветки, скажем «master», а ваша текущая ветка не существует в удаленном хранилище, она будет сравнивать удаленный « master » с удаленным « branch2 ».
Надеюсь, что это полезно.
git diff branch1 branch2 myfile.cs
. (В--
этом больше нет необходимости, поскольку он может принимать до двух аргументов ревизии.)