Як я можу налагоджувати проблеми, пов'язані з git / git shell?


148

Як я можу отримати інформацію про налагодження щодо git / git-shell?

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

Нарешті, після тривалого випробування та помилок виявилося, що це проблема з дозволом на файл. Відповідне повідомлення про помилку може коротко замикати цю проблему.


Примітка: крім того GIT_CURL_VERBOSE, у вас буде Git 2.9.x / 2.10 GIT_TRACE_CURL. Дивіться мою відповідь нижче .
VonC

І (Q2 2019, через три роки після GIT_TRACE_CURL), тепер у вас є trace2. Приклад: git config --global trace2.normalTarget ~/log.normal. Дивіться мою (нову) відповідь нижче .
VonC

Відповіді:


212

Для ще більш детального виводу використовуйте наступне:

GIT_CURL_VERBOSE=1 GIT_TRACE=1 git pull origin master


53
Є кілька варіантів GIT_TRACE, поза основним. Ось варіант über-verbose: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
Пол Ірландський

2
Як і де встановити ці змінні?
Хунсу

Це лише ціла лінія, яку ви можете вставити у свій термінал. Ви повинні замінити git pull origin masterчастину командою, яку потрібно виконати.
Aeolun

1
На яких платформах це працює? Звичайно не Windows.
ковбасник

8
У Windows ви можете встановити ці змінні, по одному (по одному на рядок), таким чином:set GIT_CURL_VERBOSE=1 set GIT_TRACE=1 git pull origin master
cowlinator

85

Налагодження

У Git є досить повний набір вбудованих слідів, які ви можете використовувати для налагодження своїх проблем із 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 -v),
  • GIT_TRACE_SHALLOW для налагодження вилучення / клонування дрібних сховищ.

Можливі значення можуть включати:

  • true, 1Або 2для запису в потік помилок,
  • абсолютний шлях, починаючи з /відстеження виводу до вказаного файлу.

Докладніше див: Git Internals - Змінні середовища


SSH

Для проблем із SSH спробуйте виконати наступні команди:

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

або використовувати sshдля перевірки своїх облікових даних, наприклад

ssh -vvvT git@github.com

або понад порт HTTPS:

ssh -vvvT -p 443 git@ssh.github.com

Примітка. Скоротіть кількість, -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
...

2
Зміна echo 'ssh -vvv $*' > ssh && chmod +x sshдо echo 'ssh -vvv "$@"' > ssh && chmod +x sshповинні бути більш безпечними в ребрі випадку , коли один параметр має місце в ньому.
Олександр Птах


40

Якщо його над SSH, ви можете використовувати наступне:

Для більш високого рівня налагодження для типів -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'.


Так, це працює ідеально. Краще за інших. Так, це працює ідеально. Краще за інших.
BMW

Це було б найбільш корисно, оскільки я маю вирішити ключову проблему зараз, але це не працює для мене з git 1.8.3.1 та OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 лютого 2013 року у версії CentOS Linux 7.2.1511 (Основні). :(
Грег Dubicki

@GregDubicki Strange. Дайте мені знати, що для вас працює, щоб я міг оновити відповідь.
Василь Муса

1
У Windows використовується set GIT_SSH_COMMAND=ssh -v(без лапок).
Янсон

18

Git 2.9.x / 2,10 (Q3 2016) додає ще один варіант налагодження: GIT_TRACE_CURL.

Див. Команду 73e57aa , виконувати 74c682d (23 травня 2016 р.) Від Елія Пінто ( devzero2000) .
Допомогли: Торстен Бьогерсгаузен ( tboegi) , Рамсей Джонс, Хуніо С Хамано ( gitster) , Ерік Саншайн ( sunshineco) та Джефф Кінг ( peff) .
(Об’єднано Хуніо С Хамано - 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 , фіксування 81590bf , фіксування 4527aa1 , фіксування 4eee6c6 (07 вересня 2016 р.) Від Elia Pinto ( devzero2000) .
(Об’єднав Хуніо С Хамано - gitster- у комітеті 930b67e , 12 вересня 2016 р.)

Використовуйте нову GIT_TRACE_CURLзмінну середовища замість застарілого GIT_CURL_VERBOSE .

GIT_TRACE_CURL=true git clone --quiet $HTTPD_URL/smart/repo.git

Ця особливість класна! Єдиний момент - це вихід ASCII (де вони друкують все, що не (ch >= 0x20) && (ch < 0x80)є крапковим .), і жодний спосіб шестигранного виведення даних для http.
kinORnirvana

8

Git 2,22 (Q2 2019) вводить trace2з фіксації ee4512e на Джеффа Hostetler :

trace2: створити нову комбіновану систему слідів

Створіть нову уніфіковану систему відстеження git.
Можливий намір - замінити поточний trace_printf*і trace_performance*підпрограми уніфікованим набором git_trace2*підпрограм.

На додаток до звичайного API printf, trace2надає дієслова подій більш високого рівня з фіксованими полями, що дозволяють записувати структуровані дані.
Це полегшує післяобробку та аналіз для зовнішніх інструментів.

Trace2 визначає 3 вихідних цілі.
Вони встановлюються за допомогою змінних оточення " GIT_TR2", " GIT_TR2_PERF" та " GIT_TR2_EVENT".
Вони можуть бути встановлені на "1" або на абсолютне ім'я шляху (як і поточне GIT_TRACE).

Примітка. Що стосується назви змінної середовища, завжди використовуйте GIT_TRACExxx, ні GIT_TRxxx.
Так власне GIT_TRACE2, GIT_TRACE2_PERFабо GIT_TRACE2_EVENT.
Дивіться перейменування Git 2.22, згадане нижче нижче.

Далі йде початкова робота над цією новою функцією відстеження зі старими назвами змінної середовища:

  • GIT_TR2призначений для заміни GIT_TRACEта журналів підсумкових даних команд.

  • GIT_TR2_PERFпризначений як заміна для GIT_TRACE_PERFORMANCE.
    Він розширює висновок на стовпці для командного процесу, потоку, репо, абсолютного та відносного минулих часів. Він повідомляє про події запуску / зупинки дочірнього процесу, запуску / зупинки потоку та вкладення функції за нитками.

  • GIT_TR2_EVENTце новий структурований формат. Він записує дані про події у вигляді серії записів JSON.

Виклики в trace2 функції записуються до будь-якого з 3-х вихідних цілей, включених без необхідності виклику різних trace_printf*або trace_performance*підпрограм.

Див. Комісію a4d3a28 (21 березня 2019) Джоша Стідмона ( steadmon) .
(Об'єднано Хуніо С Хамано - gitster- у комітеті 1b40314 , 08 травня 2019 р.)

trace2: написати в цілі каталогу

Коли значення змінної середовища trace2 є абсолютним шляхом, що посилається на існуючий каталог, запишіть вихід у файли (по одному на процес) під даний каталог.
Файли будуть іменовані відповідно до кінцевого компонента SID trace2, а потім лічильником, щоб уникнути можливих зіткнень.

Це робить більш зручним збирати сліди для кожного виклику git, безумовно встановлюючи відповідну trace2envvar на постійне ім'я каталогу.


Дивіться також фіксувати f672dee (29 квітня 2019 р.) Та здійснити 81567ca , здійснити 08881b9 , здійснити bad229a , здійснити 26c6f25 , зробити bce9db6 , зробити 800a7f9 , здійснити a7bc01e , зробити 39f4317 , зробити a089724 , здійснити 1703751 (15 квітня 2019 р.) Джеффом Хостелером ( jeffhostetler) .
(Об'єднав Хуніо С Хамано - gitster- в комітеті 5b2d1c0 , 13 травня 2019 р.)

Нова документація тепер включає в себе параметри конфігурації , які зчитуються тільки з системи і глобальних конфігураційних файлів (тобто сховища локальних і worktree конфігураційних файлів і -cаргументи командного рядка , не дотримуються.)

Приклад :

$ git config --global trace2.normalTarget ~/log.normal
$ git version
git version 2.20.1.155.g426c96fcdb

врожайність

$ cat ~/log.normal
12:28:42.620009 common-main.c:38                  version 2.20.1.155.g426c96fcdb
12:28:42.620989 common-main.c:39                  start git version
12:28:42.621101 git.c:432                         cmd_name version (version)
12:28:42.621215 git.c:662                         exit elapsed:0.001227 code:0
12:28:42.621250 trace2/tr2_tgt_normal.c:124 atexit elapsed:0.001265 code:0

А для вимірювання ефективності :

$ git config --global trace2.perfTarget ~/log.perf
$ git version
git version 2.20.1.155.g426c96fcdb

врожайність

$ cat ~/log.perf
12:28:42.620675 common-main.c:38                  | d0 | main                     | version      |     |           |           |            | 2.20.1.155.g426c96fcdb
12:28:42.621001 common-main.c:39                  | d0 | main                     | start        |     |  0.001173 |           |            | git version
12:28:42.621111 git.c:432                         | d0 | main                     | cmd_name     |     |           |           |            | version (version)
12:28:42.621225 git.c:662                         | d0 | main                     | exit         |     |  0.001227 |           |            | code:0
12:28:42.621259 trace2/tr2_tgt_perf.c:211         | d0 | main                     | atexit       |     |  0.001265 |           |            | code:0

Як задокументовано в Git 2.23 (Q3 2019), змінна середовища для використання є GIT_TRACE2.

Див. Комісію 6114a40 (26 червня 2019 р.) Від Carlo Marcelo Arenas Belón ( carenas) .
Див. Команду 3efa1c6 (12 червня 2019 р.) Від Ævar Arnfjörð Bjarmason ( avar) .
(Об'єднав Хуніо С Хамано - gitster- в комісії e9eaaa4 , 09 липня 2019 р.)

З цього випливає робота, виконана в Git 2.22: commit 4e0d3aa , commit e4b75d6 (19 травня 2019 р.) SZEDER Gábor ( szeder) .
(Об'єднав Хуніо С Хамано - gitster- у комітеті 463dca6 , 30 травня 2019 року)

trace2: перейменуйте змінні середовища в GIT_TRACE2 *

Для змінної середовища, яку передбачається встановити користувачами, оточення GIT_TR2*просто надто незрозуміле, непослідовне та некрасиве.

Більшість встановлених GIT_*змінних оточення не використовують скорочення, а в разі небагатьох , які роблять ( GIT_DIR, GIT_COMMON_DIR, GIT_DIFF_OPTS) абсолютно очевидно , що ці скорочення ( DIRі OPTS) позначають.
Але що означає TR? Трек, традиційний, трейлер, транзакція, передача, перетворення, перехід, переклад, пересадка, транспорт, обхід, дерево, тригер, усічення, довіра, або ...?!

Засіб trace2, як випливає з його назви суфікс "2", повинен врешті-решт витіснити початкове об'єкт слідування Гіта.
Доцільно розраховувати, що відповідні змінні середовища слідують відповідності, а після оригінальних GIT_TRACEзмінних вони будуть викликані GIT_TRACE2; немає такого поняття ' GIT_TR'.

Усі змінні конфігурації trace2, дуже розумно, знаходяться в розділі ' trace2', а не в ' tr2'.

OTOH, ми взагалі нічого не отримуємо, опускаючи останні три символи "сліду" від назв цих змінних середовища .

Тому давайте перейменоваємо всі GIT_TR2*змінні середовища GIT_TRACE2*, перш ніж вони пробиваються до стабільного випуску.


Git 2.24 (Q3 2019) покращує ініціалізацію репозиторію Git.

Див. Команду 22932d9 , виконувати 5732f2b , здійснити 58ebccb (06 серпня 2019 року) Джеффа Кінга ( peff) .
(Об’єднав Хуніо С Хамано - gitster- в комітеті b4a1eec , 09 вересня 2019 р.)

common-main: затримка ініціалізації trace2

Ми ініціалізуємо trace2систему в загальній функції main (), так що всі програми (навіть ті, які не є вбудованими) дозволять відстежувати.

Але trace2запуск має досить велику вагу, тому що нам доводиться читати конфігурацію на диску, щоб вирішити, чи слід простежувати.
Це може спричинити несподівані взаємодії з іншими загально-основними ініціалізаціями. Наприклад, ми перетворимося в конфігураційний код перед викликом initialize_the_repository(), і звичайний інваріант, який the_repositoryніколи не буде NULL, не утримуватиметься.

Давайте підштовхнемо trace2ініціалізацію далі в загальне-головне, до того, як ми виконаємо cmd_main().


Git 2.24 (Q4 2019) також гарантує, що вихід із trace2підсистеми тепер форматований більш чітко.

Див. Комісію 742ed63 , здійснити e344305 , зробити c2b890a (09 серпня 2019 р.), Здійснити ad43e37 , здійснити 04f10d3 , здійснити da4589c (08 серпня 2019 р.) Та здійснити 371df1b (31 липня 2019 р.) Jeff Hostetler ( jeffhostetler) .
(Об’єднав Хуніо С Хамано - gitster- у комітеті 93fc876 , 30 вересня 2019 р.)

І все-таки Git 2.24

Див. Команду 87db61a , виконувати 83e57b0 (04 жовтня 2019 р.) Та виконувати 2254101 , виконувати 3d4548e (03 жовтня 2019 р.) Джоша Стідмона ( steadmon) .
(Об’єднав Хуніо С Хамано - gitster- в комісії d0ce4d9 , 15 жовтня 2019 р.)

trace2: відкиньте нові сліди, якщо в цільовому каталозі занадто багато файлів

Підписаний: Джош Стідмон

trace2може записувати файли в цільовий каталог.
При великому використанні цей каталог може заповнюватися файлами, що спричиняє труднощі для систем оброблення слідів.

Цей патч додає опцію конфігурації ( trace2.maxFiles) , щоб встановити максимальне число файлів , які trace2будуть писати в цільової каталог.

Наступна поведінка увімкнена, коли значення maxFilesвстановлено на додатне ціле число:

  • Коли trace2буде записати файл у цільовий каталог, спочатку перевірте, чи слід відкидати сліди. Сліди слід відкинути, якщо:

    • є дозорний файл, який заявляє, що файлів занадто багато
    • АБО кількість файлів перевищує trace2.maxFiles.
      В останньому випадку ми створюємо дозорний файл, призначений git-trace2-discardдля прискорення подальших перевірок.

Припущення полягає в тому, що окрема система обліку слідів має справу з генерованими слідами; Після того як він обробляє та видаляє дозорний файл, він повинен бути безпечним знову генерувати нові файли слідів.

Значення за замовчуванням trace2.maxFilesдорівнює нулю, що відключає перевірку кількості файлів.

Конфігурації також можуть бути перевизначені з новим змінним оточенням: GIT_TRACE2_MAX_FILES.


І Git 2.24 (Q4 2019) навчає trace2 про git pushетапи.

Див. Команду 25e4b80 , виконайте 5fc3118 (02 жовтня 2019 р.) Джоша Стідмона ( steadmon) .
(Об'єднав Хуніо С Хамано - gitster- у комітці 3b9ec27 , 15 жовтня 2019 р.)

push: додати інструмент trace2

Підписаний: Джош Стідмон

Додайте регіони trace2 у transport.cта, builtin/push.cщоб краще відстежувати час, проведений у різних фазах натискання:

  • Лістинг реф
  • Перевірка підмодулів
  • Підштовхування підмодулів
  • Натискання реф

З Git 2.25 (1 квартал 2020 року) частина файлів Documentation/technicalпереміщена до *.hфайлів заголовків .

Див. Зробити 6c51cb5 , зробити d95a77d , зробити bbcfa30 , зробити f1ecbe0 , зробити 4c4066d , зробити 7db0305 , здійснити f3b9055 , зробити 971b1f2 , зробити 13aa9c8 , зробити c0be43f , зробити 19ef3dd , зробити 301d595 , зробити 3a1b351 , зробити 3a1b341 , зробити 3a1b351 , зробити 3a1b341 , зробити 3a1b341 d3d7172 , фіксувати 3f1480b , здійснювати 266f03e , фіксувати 13c4d7e(17 листопада 2019 р.) Від Heba Waly ( HebaWaly) .
(Об’єднав Хуніо С Хамано - gitster- у комітеті 26c816a , 16 грудня 2019 р.)

trace2: перемістити док trace2.h

Підписався: Хеба Уолі

Перемістити документацію функції від Documentation/technical/api-trace2.txtдо , trace2.hяк це простіше для розробників , щоб знайти інформацію про використання поряд з кодом замість того , щоб шукати його в іншому файлі док.

Видаляється лише розділ документації щодо функцій, Documentation/technical/api-trace2.txtоскільки файл переповнений деталями, які здаються більш доцільними у окремому файлі doc, як є, із посиланням на файл doc, доданим у trace2.h. Також вилучається документ doc, щоб уникнути надлишкової інформації, яку важко буде синхронізувати з документацією у файлі заголовка.

(хоча ця реорганізація мала побічний вплив на іншу команду, пояснювану та зафіксовану за допомогою Git 2.25.2 (березень 2020 р.) у програмі cc4f2eb (14 лютого 2020 р.) Джеффа Кінга ( peff) .
(Об'єднав Хуніо С Хамано - gitster- у коміті 1235384 , 17 лютого 2020 р.) )


З Git 2.27 (Q2 2020): удосконалення Trace2, щоб дозволити ведення журналу змінних середовища .

Див. Комісію 3d3adaa (20 березня 2020 р.) Джоша Стідмона ( steadmon) .
(Об’єднав Хуніо С Хамано - gitster- у комітеті 810dc64 , 22 квітня 2020 р.)

trace2: навчити Git реєструвати змінні середовища

Вийшов з реєстрації : Джош Стідмон.
Акцепт: Джефф Хостеллер

Через trace2 Git вже може записувати цікаві параметри конфігурації (див. trace2_cmd_list_config()Функцію). Однак це може надати неповне зображення, оскільки багато параметрів конфігурації також дозволяють змінювати зміни через змінні середовища.

Щоб дозволити більш повні журнали, ми додамо нову trace2_cmd_list_env_vars()функцію та підтримуючу реалізацію, змодельовану після попередньої реалізації параметрів журналу налаштування параметрів.


За допомогою Git 2.27 (Q2 2020) навчіть кодові шляхи, які показують метр прогресу, також використовувати "" start_progress()та stop_progress()виклики як " region", які слід відслідковувати.

Див. Документ 98a1364 (12 травня 2020 р.) Емілі Шаффер ( nasamuffin) .
(Об'єднав Хуніо С Хамано - gitster- у комітеті d98abce , 14 травня 2020 р.)

trace2: час ходу та пропускну здатність журналу

Підписалися: Емілі Шаффер

Замість того, щоб навчати лише одній операції, як-от " git fetch", як записати пропускну здатність до слідів, ми можемо дізнатися про широкий спектр операцій користувача, які можуть здатися повільними, додавши інструментарій до самої бібліотеки прогресу .

Операції, які демонструють прогрес, швидше за все будуть повільними, і ми хочемо відстежувати їх ефективність.

Показуючи кількість об'єктів та розмір передачі даних, ми повинні бути в змозі зробити деякі похідні вимірювання, щоб забезпечити масштабування операцій так, як ми очікуємо.

І:

Завдяки Git 2.27 (Q2 2020), виправлення в останню хвилину для наших останніх змін, щоб дозволити використовувати API прогресу як простежуваного регіону.

Дивіться комісію 3af029c (15 травня 2020 року) від Derrick Stolee ( derrickstolee) .
(Об'єднав Хуніо С Хамано - gitster- у комітеті 85d6e28 , 20 травня 2020 р.)

progress: дзвоніть trace2_region_leave()лише після дзвінка_enter()

Підписався: Деррік Столі

Користувач API прогресу викликає start_progress()умовно і залежить від функцій display_progress()та stop_progress()функцій, які стають неоперативними, коли start_progress()його не викликали.

Як ми додали виклик trace2_region_enter()до start_progress(), дзвінки на інші виклики API trace2 з функцій API прогресу повинні переконатися , що ці trace2 виклики пропускаються , коли start_progress()були викликані на прогрес структуру.

В Зокрема, не називайте trace2_region_leave()з stop_progress()коли ми не заїхали start_progress(), які назвали б відповідність trace2_region_enter().


4

Ви намагалися додати -vоператор verbose ( ) під час клонування?

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


2

Для старих версій git (від 1.8 і раніше)

Я не міг знайти підходящого способу включення налагодження SSH у старих версіях git та ssh. Я шукав змінні середовища, використовуючи, ltrace -e getenv ...і не міг знайти жодної комбінації змінних GIT_TRACE або SSH_DEBUG, які б працювали.

Натомість ось рецепт тимчасового введення 'ssh -v' у послідовність git-> ssh:

$ echo '/usr/bin/ssh -v ${@}' >/tmp/ssh
$ chmod +x /tmp/ssh
$ PATH=/tmp:${PATH} git clone ...
$ rm -f /tmp/ssh

Ось вихід з git версії 1.8.3 з ssh версією OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 лютого 2013 року клонування рефіту github:

$ (echo '/usr/bin/ssh -v ${@}' >/tmp/ssh; chmod +x /tmp/ssh; PATH=/tmp:${PATH} \
   GIT_TRACE=1 git clone https://github.com/qneill/cliff.git; \
   rm -f /tmp/ssh) 2>&1 | tee log
trace: built-in: git 'clone' 'https://github.com/qneill/cliff.git'
trace: run_command: 'git-remote-https' 'origin' 'https://github.com/qneill/cliff.git'
Cloning into 'cliff'...
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /home/q.neill/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to github.com ...
...
Transferred: sent 4120, received 724232 bytes, in 0.2 seconds
Bytes per second: sent 21590.6, received 3795287.2
debug1: Exit status 0
trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all'
trace: exec: 'git' 'rev-list' '--objects' '--stdin' '--not' '--all'
trace: built-in: git 'rev-list' '--objects' '--stdin' '--not' '--all'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.