извините, если этот вопрос существует, я на удивление не смог его найти: /
Как я могу выполнить обмен git diff
между двумя файлами в одной ветке и одной и той же фиксации?
т.е. git diff fileA.php fileB.php
(в идеале с легко читаемой цветовой кодировкой, которая git
предлагает .... или похожей на то, что делает программа BeyondCompare!)
Ответы:
Для этого вам не нужен git, просто используйте
diff fileA.php fileB.php
(или vimdiff, если хотите параллельное сравнение)источник
vimdiff
для победы! Спасибо!git diff
а просто легко читаемый diff. Также тот факт, что он принял мой ответ как то, что он искал, также указывает на то, что он действительно отвечает на него.diff fileA fileB
нетgit diff fileA fileB
Если вы хотите использовать
git diff
два произвольных файла, вы можете использоватьgit diff --no-index <file_a> <file_b>
. Для этого не нужно отслеживать два файлаgit
.источник
--word-diff
выделяет изменения словом, а не просто строкойdiff
есть--color
, что может помочь (см. unix.stackexchange.com/a/338960 ). Но даже в этом случае при использованииdiff-so-fancy
, похоже, требуется конкретный выходной форматgit diff
.diff -u
(см. stackoverflow.com/a/4857407/10095231 ) не работает.Если файлы, которые вы хотите сравнить, находятся в вашей рабочей копии, вы можете использовать их просто так,
diff
как указано другими, однако, если файлы находятся в какой-либо ревизии, вы можете указать ревизию для каждого файла.как указано здесь: https://stackoverflow.com/a/3343506/1815446
В вашем случае (указав одну и ту же ревизию для обоих файлов):
источник
HEAD~2
, SHA-1, именем ветки и т. Д.git diff --name-only HEAD:dir1 HEAD:dir1_backup
работает после agit add
из обоих каталогов.Чтобы обычный gnu diff выглядел как git diff, я бы рекомендовал следующие параметры:
(где
-b
игнорировать пробелы,-u
унифицированное различие,-r
рекурсивно,-N
рассматривать отсутствующие файлы как/dev/null
).Он отлично работает, но по-прежнему не имеет цветов и автопейджинга в стиле git практически отсутствует. Если вы хотите исправить и то,
colordiff
и другое (я исправляю), установите и используйте его следующим образом:Это дает результат и интерфейс, очень близкие к реальным
git diff
.источник
Если вы хотите сравнить два локальных файла в одном каталоге, просто используйте diff.
источник
Просто используйте обычный diff.
источник