Когда-нибудь видел что-то подобное?
➜ ~/projects/gitblit/[master]>git pull remote: Counting objects: 5899, done. remote: Compressing objects: 100% (1322/1322), done. remote: Total 5746 (delta 4099), reused 5413 (delta 3770) Receiving objects: 100% (5746/5746), 3.78 MiB | 853 KiB/s, done. Resolving deltas: 100% (4099/4099), completed with 98 local objects. From git://github.com/gitblit/gitblit * [new branch] bootstrap -> origin/bootstrap * [new branch] gh-pages -> origin/gh-pages * [new branch] issues -> origin/issues * [new branch] ldap -> origin/ldap 8f73a7c..67d4f89 master -> origin/master * [new branch] rpc -> origin/rpc From git://github.com/gitblit/gitblit * [new tag] v0.9.1 -> v0.9.1 * [new tag] v0.9.2 -> v0.9.2 * [new tag] v0.9.3 -> v0.9.3 Updating 8f73a7c..67d4f89 Fast-forward .classpath | 137 +- .gitignore | 43 +- NOTICE | 56 + build.xml | 484 ++- distrib/add-indexed-branch.cmd | 20 + [..clipped..] docs/screenshots/00.png | Bin 41019 -> 38869 bytes 374 files changed, 43257 insertions(+), 3508 deletions(-) create mode 100644 distrib/add-indexed-branch.cmd create mode 100644 distrib/federation.properties [..clipped..]
Что ж, Дэвид Гербер из
списка рассылки пользователей Git сделал это и
спросил, о чем весь этот вывод . Я понял это, что создал интеллектуальный фильтр на выходе многих команд Git, игнорируя части, которые не важны. Поэтому я хотел покопаться, понять и объяснить каждую из этих строк. Вот слегка адаптированная копия моего ответа в списке рассылки. Я обновлю его, если у вас есть какие-либо комментарии, которые могут улучшить объяснения.
Я подменил его пример вывода тем, что получил от большого обновления в проекте
Gitblit :
➜ ~ / projects / gitblit / [master]> git pull
remote: Подсчет объектов: 5899, сделано.
Любое сообщение с префиксом «remote:» означает, что оно приходит из удаленного хранилища.
Первое, что он делает, это подсчитывает количество
объектов в хранилище , которые должны быть перенесены: коммиты, BLOB- объекты , деревья и теги. Я думаю, что 5899 — это количество объектов, отсутствующих в вашем локальном хранилище.
Если вы хотите узнать больше об этих объектах, попробуйте поиграть с
git count-objects -v в ваших репозиториях до и после фиксации. Также обратите внимание, как
git gc изменяет результат.
Обратите внимание, что количество объектов различается между «незакрепленными» объектами и
объектами, которые были сжаты в «файлы пакета» (представьте его как zip-файлы) для эффективности.
Удаленный: Сжатие объектов: 100% (1322/1322), сделано.
Это дистанционное сжатие незакрепленных предметов перед переносом. Я считаю, что 1322 — это количество незакрепленных объектов, которые необходимо перенести.
удаленный: всего 5746 (дельта 4099), повторно использованный 5413 (дельта 3770)
Теперь здесь я немного не уверен. Git много оптимизирует, чтобы сделать перевод максимально быстрым. Некоторые из выполненных им компрессий являются
дельта-сжатыми , и я считаю, что это и есть эти дельта-объекты. Я думаю, что повторное использование означает содержимое, которое уже было сжато в файлы пакета на удаленной стороне. Самое близкое, что я мог найти к объяснению,
здесь .
Прием объектов: 100% (5746/5746), 3,78 МиБ | 853 КиБ / с, готово.
Это просто счетчик прогресса при передаче по проводам. Финальные 38.50 — это число
переданных Кибибайт (аналог Килобайт).
Разрешение дельт: 100% (4099/4099), дополнено 98 локальными объектами.
Просто получающий конец, подтверждающий упомянутые выше дельты.
Из git: //github.com/gitblit/gitblit
* [новая ветка] bootstrap -> origin / bootstrap
* [новая ветка] gh-pages -> origin / gh-pages
* [новая ветка] проблемы -> происхождение / проблемы
* [новая ветка] ldap -> origin / ldap
8f73a7c..67d4f89 master -> origin / master
* [новая ветка] rpc -> origin / rpc
Это сводка изменений в
удаленных ветках . Большинство из них являются новыми, но вы уже отслеживали мастер ветки
, поэтому в нем говорится, с какой версии он был обновлен и до какой он был обновлен (от
… до ).
Из git: //github.com/gitblit/gitblit * [новый тег] v0.9.1 -> v0.9.1 * [новый тег] v0.9.2 -> v0.9.2 * [новый тег] v0.9.3 -> v0. 9,3
Достаточно просто, это новые теги, которые были созданы.
Константин Хомоутов добавляет: Стоит упомянуть, что по умолчанию загружаются
только теги, прикрепленные к объектам, на которые ссылаются (прямо или косвенно) извлекаемые заголовки (вначале `git pull` вызывает` git fetch`).
Обновление 8f73a7c..67d4f89
Это ваша текущая активная ветка (master), обновляемая с изменениями, которые мы видели ранее. Поскольку вы извлекаете, а не просто извлекаете, изменения из удаленной ветви объединяются с вашей локальной веткой (поскольку ваша локальная ветка ‘
master ‘ настроена на отслеживание удаленной ветки ‘
origin / master ‘).
Перемотка вперед
Это означает, что ваше местное отделение не отличается от
источника / мастера . Другими словами: вы не сделали никаких локальных коммитов. Следовательно, слияние можно быстро пересылать, воспроизводя изменения в вашей локальной ветке без фиксации слияния.
git reset —hard HEAD~1), and then doing
git pull —rebase instead.
.classpath | 137 +-
.gitignore | 43 +-
NOTICE | 56 +
build.xml | 484 ++-
distrib/add-indexed-branch.cmd | 20 +
These are the changes in «stat» form (lines added minus lines removed — same as doing
git diff —stat 8f73a7c..67d4f89).
docs/fed_aggregation.png | Bin 0 -> 21532 bytes
Change in a binary file, cannot be expressed as line changes, so the change in size is printed instead
374 files changed, 43257 insertions(+), 3508 deletions(-)
A summary of the changes that were made in your local branch.
create mode 100644 distrib/add-indexed-branch.cmd
create mode 100644 distrib/federation.properties
[..clipped..]
This is a notice on which of the changes files are actually new files.