Можно ли найти разницу между двумя произвольными текстовыми файлами с помощью Git? - PullRequest
11 голосов
/ 30 января 2012

Эти файлы не обязательно контролируются версиями.

К вашему сведению: я использую git и git gui на Windows XP.

Ответы [ 4 ]

11 голосов
/ 05 августа 2016

Вам нужно будет использовать опцию --no-index, если один или оба файла находятся за пределами git-репозитория:

git diff --no-index path/to/file.txt path/to/other/file.txt

Вы также можете использовать git difftool с теми же аргументами для вызова инструмента с графическим интерфейсом.

6 голосов
/ 30 января 2012

Да, git diff работает с двумя неверсионными путями, как файлами, так и каталогами (рекурсивная разность). Я не думаю, что вы можете сделать это из графического интерфейса; вам нужно использовать командную строку.

Если вам нужен графический интерфейс, я предлагаю вместо этого установить kdiff3 . Он также может использоваться git в качестве инструмента слияния, чем если вы установите diff.tool = kdiff3, diff.guitool = kdiff3 и difftool.kdiff3.path = path-to-kdiff3.exe

1 голос
/ 27 апреля 2019

Вы можете сделать это не только с git diffgit diff --no-index -- file1 file2), но и сейчас (Git 2.22, Q2 2019) снова с git difftool тоже!
Это было невозможно в течение последних двух лет.

"git difftool" теперь может работать вне хранилища.

См. коммит 20de316 , коммит 1a85b49 , коммит 1dcda05 (14 марта 2019) от Йоханнес Шинделин (dscho) .
(Объединено с Junio ​​C Hamano - gitster - в коммит b72e907 , 25 апреля 2019 г.)

difftool: разрешить запуск вне рабочих дерев Git с --no-index

Насколько этот разработчик может сказать, преобразование из сценария Perl в встроенный вызвал регресс в difftool, что он больше не работает за пределами рабочего дерева Git (с --no-index, конечно).

Немного неловко, что прошло более двух лет после выхода на пенсию. Perl версия, чтобы обнаружить эту регрессию, но, по крайней мере, теперь мы знаем, и может что-то сделать, с этим.

Исправлено git-for-windows/git выпуск 2123 .

1 голос
/ 30 января 2012

В git bash вы можете использовать только diff file1 file2
Использование tortoisegit - выберите оба файла, щелкните правой кнопкой мыши, выберите tortoisegit и нажмите diff.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...