ИСПОЛЬЗОВАНИЕ ИНСТРУМЕНТА VISUAL DIFF
Ответ по умолчанию (в командной строке)
Основные ответы здесь правильно показывают, как просматривать кешированные / поэтапные изменения в Index
:
$ git diff --cached
или $ git diff --staged
, который является псевдонимом.
Запуск инструмента Visual Diff вместо
Ответ по умолчанию выдаст изменения diff в git bash (то есть в командной строке или в консоли). Для тех, кто предпочитает визуальное представление различий поэтапных файлов, в git есть сценарий, который запускает инструмент визуального сравнения для каждого просматриваемого файла, а не отображает их в командной строке, который называется difftool
:
$ git difftool --staged
Это будет делать то же самое, что и git diff --staged
, за исключением того, что каждый раз, когда запускается инструмент сравнения (т.е. каждый раз, когда файл обрабатывается с помощью diff), он запускает инструмент визуального сравнения по умолчанию (в моей среде это kdiff3 сильный>).
После запуска инструмента скрипт git diff приостанавливается, пока ваш инструмент визуального сравнения не будет закрыт. Поэтому вам нужно будет закрыть каждый файл, чтобы увидеть следующий.
Вы всегда можете использовать difftool
вместо diff
в командах git
Для всех ваших визуальных различий git difftool
будет работать вместо любой git diff
команды, включая все параметры.
Например, чтобы запустить инструмент визуального сравнения, не спрашивая, делать ли это для каждого файла, добавьте параметр -y
(я думаю, обычно вам это понадобится !!):
$ git difftool -y --staged
В этом случае он будет открывать каждый файл в инструменте визуального сравнения по одному, вызывая следующий после закрытия инструмента.
Или посмотреть разницу в конкретном файле, который находится в Index
:
$ git difftool -y --staged <<relative path/filename>>
Все параметры см. На странице руководства:
$ git difftool --help
Настройка Visual Git Tool
Чтобы использовать визуальный инструмент git, отличный от стандартного, используйте параметр -t <tool>
:
$ git difftool -t <tool> <<other args>>
Или см. Справочную страницу difftool, чтобы узнать, как настроить git для использования другого инструмента визуального сравнения по умолчанию.
Пример .gitconfig
записей для vscode в качестве инструмента сравнения / слияния
Часть настройки difftool включает в себя изменение файла .gitconfig
либо с помощью команд git, которые изменяют его за кулисами, либо напрямую отредактировав его.
Вы можете найти свой .gitconfig
в своем домашнем каталоге, например, ~
в Unix или обычно c:\users\<username>
в Windows).
Или вы можете открыть пользователя .gitconfig
в редакторе Git по умолчанию с помощью git config -e --global
.
Вот примеры записей в моем глобальном пользователе .gitconfig
для VS Code как в качестве инструмента сравнения, так и инструмента слияния:
[diff]
tool = vscode
guitool = vscode
[merge]
tool = vscode
guitool = vscode
[mergetool]
prompt = true
[difftool "vscode"]
cmd = code --wait --diff \"$LOCAL\" \"$REMOTE\"
path = c:/apps/vscode/code.exe
[mergetool "vscode"]
cmd = code --wait \"$MERGED\"
path = c:/apps/vscode/code.exe
person
LightCC
schedule
14.08.2017
git status -v
тоже работает. См. мой ответ ниже - person VonC   schedule 18.03.2015less
, например:git status -v | less
- управляемые блоки :) - person Mr Office   schedule 25.07.2016