Предположим, что я нажимаю фиксацию на git
. Он сообщает, что-то вроде следующего:Когда «git push» проходит, когда git push запускает автоматическую упаковку?
Auto packing the repository for optimum performance.
Counting objects: 56, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (54/54), done.
Writing objects: 100%
(56/56), 2.14 MiB | 3.81 MiB/s, done. Total 56 (delta 16), reused 0
(delta 0) Auto packing the repository for optimum performance.
Я знаю, что я должен позволить git
делать свое дело для лучшей оптимизации. Предположим, у меня закончилось терпение и нажмите CtrlC, чтобы убить процесс во время шаг «Автоматическая упаковка».
Завершено git push
? Если да, то на каком этапе?
Связанный: Почему бы git
сделать упаковку Теперь, во время толчка? Почему, когда git
обнаруживает, что упаковка необходимо, отображать полезную пользователю сообщение - что-то вроде:
Git: Your repository size may be causing inefficiency.
Please pack the repository at your earliest convenience by running the following:
git pack
«Зачем собирать упаковку сейчас во время толчка?» - Первая мысль состоит в том, что сообщение поступает с пульта. Сообщение приходит сразу после получения новых объектов, которые делают пакет стоящим. Кажется, у вас создается впечатление, что пакет работает локально (в противном случае ваша идея предлагать запуск 'git pack' вручную не имеет смысла), но смогли ли вы это проверить? – hvd
@hvd: Если сообщение отправлено с пульта дистанционного управления, оно будет иметь префикс 'remote:'. Это правда, что по умолчанию, пакет receive-pack запускает 'git gc -auto', но он запускает его с' --quiet', так что вы этого не видите. Здесь очень странно, что 'git push' * не запускает' git gc -auto'-only 'am',' fetch', 'merge',' receive-pack' и два скрипта ('rebase' и скрипт SVN Perl). – torek