gitdiff более функциональна, чем стандартный unix diff. Я часто хочу это делать, и, поскольку этот вопрос высоко ценится в Google, я хочу, чтобы появился этот ответ.
Показывает, как использовать git для сравнения файлов, в которых хотя бы один из них отсутствует в репозитории, используя --no-index:
git diff --no-index file1.txt file2.txt
Неважно, какой из них отслеживается git, а какой нет - один или оба могут не отслеживаться, например:
$ date > x
$ sleep 2
$ date > y
$ git diff --color-words --no-index x y
diff --git a/x b/y
index 6b10c7c..70f036c 100644
--- a/x
+++ a/y
@@ -1 + 1 @@
Wed Jun 10 10:57:45|10:57:47 EDT 2013
Цвет здесь не может быть показан, поэтому в примере я разделил изменения вертикальной чертой.
Если вы хотите, чтобы это поведение использовалось по умолчанию, вы можете добавить псевдоним к своему .bashrcфайлу (или тому, что вы используете):alias diff="git diff --no-index"
counterbeing
1
К вашему сведению: в Git для Windows была ошибка (№ 2123), из-за которой "--no-index" не соблюдался. Это было исправлено в Git для Windows v2.21.0 (26 февраля 2019 г.).
StackzOfZtuff
Что означает строка "index 6b10c7c..70f036c 100644"? Я сравниваю 2 бинарных файла, они различаются, но это единственная строка с разницей ...
Лукас Салич
привет @LukasSalich, похоже, этот формат строки может быть задокументирован git (например: git-scm.com/docs/diff-format ) git diff не пытается различать двоичные файлы afaik, поэтому я предполагаю, что эта строка означает, что они различаются , два SHA, в которых было обнаружено изменение, а затем права доступа к файлу.
Кайл Бертон
3
diff -u
даст аналогичный унифицированный вывод контекста для git diff.
--patience
флаг? Вы знаете, что такое diff (1) ?Ответы:
git
diff более функциональна, чем стандартный unixdiff
. Я часто хочу это делать, и, поскольку этот вопрос высоко ценится в Google, я хочу, чтобы появился этот ответ.Этот вопрос: как использовать
git diff --color-words
вне репозитория Git?Показывает, как использовать git для сравнения файлов, в которых хотя бы один из них отсутствует в репозитории, используя
--no-index
:Неважно, какой из них отслеживается git, а какой нет - один или оба могут не отслеживаться, например:
Цвет здесь не может быть показан, поэтому в примере я разделил изменения вертикальной чертой.
источник
.bashrc
файлу (или тому, что вы используете):alias diff="git diff --no-index"
diff -u
даст аналогичный унифицированный вывод контекста для git diff.
источник
git diff --word-diff
).Просто используйте команду diff:
источник