У мене є два різних файли в різних галузях. Як я можу розмежувати їх в одній команді?
Щось на зразок
# git diff branch1/foo.txt branch2/foo-another.txt
Я міг би перевірити інший файл, відрізнити його та відновити, але це досить брудне рішення.
У мене є два різних файли в різних галузях. Як я можу розмежувати їх в одній команді?
Щось на зразок
# git diff branch1/foo.txt branch2/foo-another.txt
Я міг би перевірити інший файл, відрізнити його та відновити, але це досить брудне рішення.
Відповіді:
git diff branch1:full/path/to/foo.txt branch2:full/path/to/foo-another.txt
Ви також можете використовувати відносні шляхи:
git diff branch1:./relative/path/to/foo.txt branch2:./relative/path/to/foo-another.txt
git help diff
. До речі, вони не повинні бути іменами гілок попереду колонок, але вони можуть бути будь-якими посиланнями на введення (наприклад, значення SHA-1).
git difftool
а потім видаліть branch2:
і, що дозволить вам редагувати файл у поточному робочому дереві (щоб змінити зміни з branch1
)
Існує багато способів порівняння файлів із двох відділень. Наприклад:
Якщо ім’я однакове або інше:
git diff branch1:file branch2:file
Приклад:
git diff branch1:full/path/to/foo.txt branch2:full/path/to/foo-another.txt
Тільки якщо ім'я збігається та ви хочете порівняти поточну робочу директорію з якоюсь галуззю:
git diff ..someBranch path/to/file
Приклад:
git diff ..branch2 full/path/to/foo.txt
У цьому прикладі ви порівнюєте файл з вашої фактичної гілки з файлом у головній гілці.
Ви можете перевірити цю відповідь:
Позабірна відповідь - дивіться коментарі
Просто додати його, я вважаю це дуже простим синтаксисом:
git diff <branch1> <branch2> <filepath>
Також працює з відносними характеристиками, наприклад, наприклад:
# compare the previous committed state from HEAD with the state branch1 was 3 commits ago
git diff HEAD^ <branch1>~3 <filepath>
Ви можете вказати початок і діапазон, git diff
до якого слід застосувати. Діапазон вказується ..
позначенням.
branch1=somebranch
branch2=someotherbranch
git diff ${branch1}..${branch2} -- file_path