Відповіді:
Вкажіть шляхи прямо:
git diff HEAD:full/path/to/foo full/path/to/bar
Перевірте --find-renames
параметр у git-diff
документах .
Кредит: twaggs .
git diff <path> <path>
навіть якщо вони не знаходяться у сховищі git.
git diff --help
ви побачите, що єдиними моделями, які підтримуються для двох файлів, є git diff [<options>] --no-index [--] <path> <path>
. git diff a b
лише збіги фіксують шаблони, не файли
--no-index
параметр під час виконання команди в робочому дереві, керованому Git, і принаймні в одній із точок шляхів поза робочим деревом або при запуску команди поза робочим деревом, контрольованим Git .
Я вважаю --no-index
, що ви шукаєте:
git diff [<options>] --no-index [--] <path> <path>
як зазначено в посібнику з git:
Ця форма полягає у порівнянні заданих двох шляхів у файловій системі. Ви можете опустити цей
--no-index
параметр під час виконання команди в робочому дереві, керованому Git, і принаймні в одній із точок шляхів поза робочим деревом або при запуску команди поза робочим деревом, контрольованим Git.
Якщо ви використовуєте черепаховий git, ви можете клацнути правою клавішею миші на файл і git a diff за допомогою: Клацніть правою кнопкою миші на першому файлі та через підменю tortoisegit виберіть "Diff later". Потім у другому файлі ви також можете клацнути правою кнопкою миші на цьому , перейдіть до підменю tortoisegit і виберіть "Розрізняти своє ім'я файлу.txt"
Використовуючи PhpStorm, я просто копіюю попередній код фіксації та порівнюю його з поточною версією, використовуючи вбудований інструмент "порівняти з буфером обміну".
git diff --no-index --word-diff old_file.txt new_file.txt
(--word-diff виділяє зміни словом, а не просто рядком, що дуже корисно для довгого тексту).