Для порівняння файлів є два сценарії:
Сценарій 1: Порівняйте файли у віддалених відділеннях (обидві гілки повинні існувати у віддаленому сховищі)
Сценарій 2: Порівняйте локальні файли (у місцевій копії робочої області) з файлами у віддаленому сховищі.
Логіка проста. Якщо ви надаєте два імені гілок для розрізнення, воно завжди буде порівнювати віддалені гілки, а якщо ви надаєте лише одне ім’я гілки, воно завжди порівнюватиме вашу локальну робочу копію з віддаленим репо (тим, що ви надали). Ви можете використовувати діапазон для надання віддалених сховищ.
наприклад Оформити відділення
git checkout branch1
git diff branch2 [filename]
у цьому випадку, якщо ви вкажете ім'я файлу, воно порівнює вашу локальну копію імені файлу з віддаленою гілкою під назвою " гілка2 ".
git diff branch1 branch2 [filename]
у цьому випадку воно порівнятиме ім’я файлу з віддалених гілок з назвою " branch1 " та " branch2 "
git diff ..branch2 [filename]
і в цьому випадку воно порівнятиме ім'я файлу з віддалених гілок з назвою " branch1 " vs " branch2 ". Отже, його те саме, що вище. Однак якщо ви тільки що створили гілку з іншої гілки, скажіть "master", і ваша поточна гілка не існує у віддаленому сховищі, вона порівняє віддалений " master " з віддаленим " branch2 ".
Сподіваюся, що це корисно.
git diff branch1 branch2 myfile.cs
. (Це більше--
не повинно бути необхідним, оскільки це може зайняти до двох аргументів перегляду.)