это только показывает очень мало информации, без информации отладки

могу получить отладочную информацию относительно git / git-shell?

У меня была проблема, чтоuser1 может клонировать хранилище без проблем, в то время какuser2 мог клонировать только пустой. Я установилGIT_TRACE=1, но ничего полезного не было сказано.

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

 VonC09 июл. 2016 г., 22:02
Примечание: в дополнение кGIT_CURL_VERBOSE, у вас будет с Git 2.9.x / 2.10GIT_TRACE_CURL, Видетьмой ответ ниже.

Ответы на вопрос(6)

GIT_CURL_VERBOSE=1 GIT_TRACE=1 git pull origin master

 Aeolun01 мар. 2016 г., 08:44
Это просто целая строка, которую вы можете вставить в свой терминал. Вы должны заменитьgit pull origin master расстаться с командой, которую вы хотите выполнить.
 cowlinator14 нояб. 2017 г., 18:50
В Windows вы можете установить эти переменные, по одной (по одной на строку), например:set GIT_CURL_VERBOSE=1 set GIT_TRACE=1 git pull origin master
 Hunsu15 янв. 2016 г., 09:28
Как и где установить эти переменные?
 cowlinator22 сент. 2017 г., 00:31
На каких платформах это работает? Конечно, не Windows.
 Paul Irish09 янв. 2016 г., 22:22
Есть несколько опций GIT_TRACE, кроме основной. Вот очень многословный вариант:set -x; GIT_TRACE=2 GIT_CURL_VERBOSE=2 GIT_TRACE_PERFORMANCE=2 GIT_TRACE_PACK_ACCESS=2 GIT_TRACE_PACKET=2 GIT_TRACE_PACKFILE=2 GIT_TRACE_SETUP=2 GIT_TRACE_SHALLOW=2 git pull origin master -v -v; set +x

Попробуй это:

GIT_TRACE=1 git pull origin master
отладка

которые вы можете использовать для отладки ваших проблем с git.

Чтобы включить их, вы можете определить следующие переменные:

GIT_TRACE для общих следов,GIT_TRACE_PACK_ACCESS для отслеживания доступа к пакетному файлу,GIT_TRACE_PACKET для трассировки на уровне пакетов для сетевых операций,GIT_TRACE_PERFORMANCE для регистрации данных о производительности,GIT_TRACE_SETUP для получения информации об обнаружении хранилища и среды, с которой он взаимодействует,GIT_MERGE_VERBOSITY для отладки стратегии рекурсивного слияния (значения: 0-5),GIT_CURL_VERBOSE для регистрации всех сообщений curl (эквивалентноcurl, -v),GIT_TRACE_SHALLOW для отладки извлечения / клонирования мелких репозиториев.

Возможные значения могут включать:

true, 1 или же2 написать в stderr,абсолютный путь, начинающийся с/ проследить вывод в указанный файл.

Для более подробной информации смотрите:Git Internals - Переменные среды

SSH

Для проблем SSH, попробуйте следующие команды:

echo 'ssh -vvv $*' > ssh && chmod +x ssh
GIT_SSH="$PWD/ssh" git pull origin master

или использоватьssh подтвердить свои учетные данные, например,

ssh -vvvT [email protected]

или через порт HTTPS:

ssh -vvvT -p 443 [email protected]

Примечание: уменьшить количество-v снизить уровень многословия.

Примеры
$ GIT_TRACE=1 git status
20:11:39.565701 git.c:350               trace: built-in: git 'status'

$ GIT_TRACE_PERFORMANCE=$PWD/gc.log git gc
Counting objects: 143760, done.
...
$ head gc.log 
20:12:37.214410 trace.c:420             performance: 0.090286000 s: git command: 'git' 'pack-refs' '--all' '--prune'
20:12:37.378101 trace.c:420             performance: 0.156971000 s: git command: 'git' 'reflog' 'expire' '--all'
...

$ GIT_TRACE_PACKET=true git pull origin master
20:16:53.062183 pkt-line.c:80           packet:        fetch< 93eb028c6b2f8b1d694d1173a4ddf32b48e371ce HEAD\0multi_ack thin-pack side-band side-band-64k ofs-delta shallow no-progress include-tag multi_ack_detailed symref=HEAD:refs/heads/master agent=git/2:2.6.5~update-ref-initial-update-1494-g76b680d
...

Для более высокого уровня отладки для типа -vv или -vvv для уровня отладки 2 и 3 соответственно:

# Debug level 1
GIT_SSH_COMMAND="ssh -v" git clone <repositoryurl>

# Debug level 2
GIT_SSH_COMMAND="ssh -vv" git clone <repositoryurl>

# Debug level 3
GIT_SSH_COMMAND="ssh -vvv" git clone <repositoryurl>

Это в основном полезно для решения проблем с открытым и закрытым ключом на сервере. Вы можете использовать эту команду для любой команды git, а не только для «git clone».

 Greg Dubicki06 июн. 2016 г., 14:37
Это было бы очень полезно, поскольку мне сейчас нужно решить ключевую проблему, но у меня это не работает с git 1.8.3.1 и OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 февраля 2013 г. в CentOS Linux версии 7.2.1511 (основной). :(
 BMW25 апр. 2016 г., 06:02
Да, это работает отлично. Лучше, чем другие. Да, это работает отлично. Лучше, чем другие.
 lazlev24 янв. 2018 г., 10:11
На винде используйset GIT_SSH_COMMAND=ssh -v (без кавычек).
 Basil Musa06 июн. 2016 г., 23:01
@GregDubicki Странно. Дайте мне знать, что работает для вас, чтобы я мог обновить ответ.

-vоператор когда клонируешь?

git clone -v git://git.kernel.org/pub/scm/.../linux-2.6 my2.6

 C.C.10 дек. 2012 г., 17:53
это только показывает очень мало информации, без информации отладки

дки:GIT_TRACE_CURL.

Видетьсовершить 73e57aa, совершить 74c682d (23 мая 2016 г.)Элия ​​Пинто (devzero2000).
Помогал-на:Торстен Бёгерсхаузен (tboegi)Рамсей Джонс,Junio ​​C Hamano (gitster), Эрик Саншайн (sunshineco), а такжеДжефф Кинг (peff).
(ОбъединеноJunio ​​C Hamano -gitster - всовершить 2f84df2, 06 июля 2016 г.)

http.c: реализоватьGIT_TRACE_CURL переменная окружения

РеализоватьGIT_TRACE_CURL переменная среды, чтобы позволить большую степень детализацииGIT_CURL_VERBOSE, в частности, полный транспортный заголовок и вся полезная нагрузка данных.
Это может быть полезно, если конкретная ситуация может потребовать более тщательного анализа отладки.

Документация будет указывать:

GIT_TRACE_CURL

Включает полный дамп трассировки всех входящих и исходящих данных, включая описательную информацию, транспортного протокола git.
Это похоже на выполнениеcurl --trace-ascii в командной строке.

Эта опция отменяет настройкуGIT_CURL_VERBOSE переменная окружения.

Вы можете увидеть, что новая опция используется вэтот ответ, но также и в тестах Git 2.11 (Q4 2016):

Видетьсовершить 14e2411, совершить 81590 бф, совершить 4527aa1, совершить 4eee6c6 (07 сентября 2016 г.)Элия ​​Пинто (devzero2000).
(ОбъединеноJunio ​​C Hamano -gitster - всовершить 930b67e, 12 сентября 2016 г.)

Используйте новыйGIT_TRACE_CURL переменная окружения вместоосуждается GIT_CURL_VERBOSE.

GIT_TRACE_CURL=true git clone --quiet $HTTPD_URL/smart/repo.git
 kinORnirvana06 окт. 2016 г., 19:44
Эта функция классная! Единственный момент - вывод ASCII (где они печатают все, что не(ch >= 0x20) && (ch < 0x80) как точка.) и нет возможности шестнадцатеричного вывода для http-данных.

Ваш ответ на вопрос