GIT_AUTHOR_EMAILзадаёт адрес электронной почты автора коммита.
GIT_AUTHOR_DATEвремя создания коммита.
GIT_COMMITTER_NAMEиспользуется для указания человека, применившего коммит.
GIT_COMMITTER_EMAILзадаёт адрес электронной почты человека, применившего коммит.
GIT_COMMITTER_DATEвремя применения коммита.
EMAILиспользуется, как запасное значение, если конфигурационный параметр user.email не задан. Если же и эта переменная не задана, Git будет использовать идентификатор пользователя в системе и имя хоста.
Git использует библиотеку curl для работы с сетью через HTTP. Задание переменной GIT_CURL_VERBOSEуказывает Git выводить все сообщения, генерируемые этой библиотекой. Это похоже на использование curl с флагом -v в командной строке.
GIT_SSL_NO_VERIFYотключает проверку SSL сертификатов. Это может пригодиться если вы используете самоподписанные сертификаты для работы репозиториев через HTTPS, или если вы настраиваете Git сервер и ещё не установили необходимые сертификаты.
Если на протяжении более чем GIT_HTTP_LOW_SPEED_TIMEсекунд скорость передачи данных не поднималась выше GIT_HTTP_LOW_SPEED_LIMITбайт в секунду, Git прервёт операцию. Эти переменные замещают значения конфигурационных параметров http.lowSpeedLimit и http.lowSpeedTime.
GIT_HTTP_USER_AGENTзадаёт заголовок User-Agent при работе через HTTP. По умолчанию используется что-то вроде git/2.0.0.
Сравнение файлов и слияния
GIT_DIFF_OPTS— слегка громкое название для этой переменной. Единственными допустимыми значениями являются -u и --unified=, задающие количество контекстных строк, показываемых командой git diff.
GIT_EXTERNAL_DIFFзамещает конфигурационный параметр diff.external. Если значение задано, Git вызовет указанную программу вместо git diff.
GIT_DIFF_PATH_COUNTERи GIT_DIFF_PATH_TOTALиспользуются внутри программы, заданной через GIT_EXTERNAL_DIFF или diff.external. Первая содержит порядковый номер сравниваемого на данный момент файла (начиная с 1), вторая — полное количество файлов, подлежащих сравнению.
GIT_MERGE_VERBOSITYзадаёт уровень детализированности вывода при рекурсивном слиянии. Возможные значения перечислены ниже:
● 0 не выводить ничего, кроме единственного сообщения об ошибке..
● 1 выводить только конфликты.
● 2 также выводить изменения файлов.
● 3 показывать пропущенные неизменённые файлы.
● 4 выводить все пути при обработке.
● 5 и выше выводят даже отладочную информацию.
По умолчанию значение полагается равным 2.
Хотите знать что на самом деле делает Git? Git ведёт достаточно подробный лог выполняемых действий и всё что вам нужно — включить его. Возможные значения приведённых ниже переменных следующие:
● "true", "1", или "2" – вывод осуществляется в стандартный поток ошибок (stderr).
● Абсолютный путь, начинающийся с / – вывод будет производиться в указанный файл.
GIT_TRACEзадаёт журналирование действий, не подпадающий под какую-либо определённую категорию. Это включает в себя разворачивание алиасов и вызовы внешних программ.
$GIT_TRACE=true git lga
20:12:49.877982 git.c:554 trace: exec: 'git-lga'
20:12:49.878369 run-command.c:341 trace: run_command: 'git-lga'
20:12:49.879529 git.c:282 trace: alias expansion: lga => 'log' '--graph' '--pretty=oneline' '--abbrev-commit' '--decorate' '--all'
20:12:49.879885 git.c:349 trace: built-in: git 'log' '--graph' '--pretty=oneline' '--abbrev-commit' '--decorate' '--all'
20:12:49.899217 run-command.c:341 trace: run_command: 'less'
20:12:49.899675 run-command.c:192 trace: exec: 'less'
GIT_TRACE_PACK_ACCESSзадаёт журналирование обращений к pack-файлам. При этом первое выводимое значение – файл, к которому происходит обращение, а второе значение – смещение внутри этого файла.
$GIT_TRACE_PACK_ACCESS=true git status
20:10:12.081397 sha1_file.c:2088 .git/objects/pack/pack-c3fa...291e.pack 12
20:10:12.081886 sha1_file.c:2088 .git/objects/pack/pack-c3fa...291e.pack 34662
20:10:12.082115 sha1_file.c:2088 .git/objects/pack/pack-c3fa...291e.pack 35175
#[…]
20:10:12.087398 sha1_file.c:2088 .git/objects/pack/pack-e80e...e3d2.pack 56914983
20:10:12.087419 sha1_file.c:2088 .git/objects/pack/pack-e80e...e3d2.pack 14303666
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
GIT_TRACE_PACKETзадаёт журналирование пакетов при операциях с сетью.
$GIT_TRACE_PACKET=true git ls-remote origin
20:15:14.867043 pkt-line.c:46 packet: git< # service=git-upload-pack
20:15:14.867071 pkt-line.c:46 packet: git< 0000
20:15:14.867079 pkt-line.c:46 packet: git< 97b8860c071898d9e162678ea1035a8ced2f8b1f HEAD\0multi_ack thin-pack side-band side-band-64k ofs-delta shallow no-progress include-tag multi_ack_detailed no-done symref=HEAD:refs/heads/master agent=git/2.0.4
20:15:14.867088 pkt-line.c:46 packet: git< 0f20ae29889d61f2e93ae00fd34f1cdb53285702 refs/heads/ab/add-interactive-show-diff-func-name
20:15:14.867094 pkt-line.c:46 packet: git< 36dc827bc9d17f80ed4f326de21247a5d1341fbc refs/heads/ah/doc-gitk-config
Читать дальше