Обратите внимание, что команда выполнилась через “0.1” секунды. help.autocorrect - это число, указываемое в десятых долях секунды. Поэтому, если вы установите значение 50, то Git даст вам 5 секунд изменить своё решение перед тем, как выполнить скорректированную команду.
Git полностью поддерживает цветовой вывод в терминале, что позволяет быстро и легко визуально анализировать вывод команд. Существует несколько опций для настройки цветов.
Git автоматически подсвечивает большую часть своего вывода, но это можно отключить, если вам не нравится такое поведение. Для отключения цветового вывода в терминал, выполните следующую команду:
$git config --global color.ui false
Значение по умолчанию - auto, при котором цвета используются при непосредственном выводе в терминал, но исключаются при перенаправлении вывода в именованный канал или файл.
Вы так же можете установить значение always, что делает вывод одинаковым как в терминал, так и в именованный канал. Скорее всего, вам это не понадобится; в большинстве случаев, при желании использовать цвета в перенаправленном выводе, указывется флаг --color команде Git для принудительного использования цветовых кодов. Практически всегда стандартное значение подходит лучше всего.
Если вы хотите явно указать вывод каких команд должен быть подсвечен и как, Git предоставляет соответствующие настройки. Каждая из них может быть установлена в значения true, false, или always:
color.branch
color.diff
color.interactive
color.status
Каждая из них имеет вложенную конфигурацию, которую можно использовать для настройки отдельных частей вывода при желани переопределить их цвет. Например, чтобы установить для метаинформации вывода команды diff синий цвет, чёрный фон и полужирный шрифт, выполните команду:
$ git config --global color.diff.meta "blue black bold"
Для установки цвета доступны следующие значения: normal, black, red, green, yellow, blue, magenta, cyan, или white. Для указания атрибутов текста, как bold в предыдущем примере, доступны значения: bold, dim, ul (подчеркнутый), blink, и reverse (поменять местами цвет фона и цвет текста).
Внешние программы слияния и сравнения
Хоть в Git и есть встроенная программа сравнения, которая описывается в этой книге, вы можете установить вместо неё другую. Вы также можете настроить графический инструмент разрешения конфликтов слияния вместо того, чтобы разрешать конфликты вручную. Мы покажем как настроить Perforce Visual Merge Tool (P4Merge) для разрешения конфликтов слияния, так как это прекрасный и бесплатный инструмент.
Если у вас есть желание попробовать P4Merge, то она работает на всех основных платформах, так что у вас должно получиться. В примерах мы будем использовать пути к файлам, которые работают в системах Linux и Mac; для Windows вам следует изменить /usr/local/bin на путь к исполняемому файлу у вас в системе.
Сначала, скачайте P4Merge отсюда http://www.perforce.com/downloads/Perforce/. Затем, создайте скрипты обёртки для вызова внешних программ. Мы будем использовать путь к исполняемому файлу в системе Mac; в других системах - это путь к файлу p4merge. Создайте скрипт с названием extMerge для вызова программы слияния и передачи ей заданных параметров:
$cat /usr/local/bin/extMerge
#!/bin/sh
/Applications/p4merge.app/Contents/MacOS/p4merge $*
Скрипт вызова программы сравнения проверяет наличие 7 аргументов и передаёт 2 из них в скрипт вызова программы слияния. По умолчанию, Git передаёт следующие аргументы программе сравнения:
path old-file old-hex old-mode new-file new-hex new-mode
Так как вам нужны только old-file и new-file, следует использовать скрипт, который передаст только необходимые параметры.
$cat /usr/local/bin/extDiff
#!/bin/sh
[ $# -eq 7 ] && /usr/local/bin/extMerge "$2" "$5"
Так же следует убедиться, что созданные скрипты могут исполняться:
$sudo chmod +x /usr/local/bin/extMerge
$sudo chmod +x /usr/local/bin/extDiff
Теперь можно изменить файл конфигурации для использования ваших инструментов слияния и сравнения. Для этого необходимо изменить ряд настроек: merge.tool - чтобы сказать Git какую стратегию использовать, mergetool..cmd - чтобы сказать Git как запускать команду, mergetool..trustExitCode - чтобы сказать Git как интерпретировать код выхода из программы, diff.external - чтобы сказать Git какую команду использовать для сравнения. Таким образом, команду конфигурации нужно запустить четыре раза:
$git config --global merge.tool extMerge
$git config --global mergetool.extMerge.cmd \
'extMerge \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"'
Читать дальше