--- tags: ["git"] --- ## cannot lock ref Последствия грубого переписывания истории ветки/репы ```shell git gc --prune=now git pull ``` ## corrupt loose object После аварийного завершения работы компьютера git выдал: ``` $ git status error: object file .git/objects/03/9e5691db59686e2afce2da700853398c961b4a is empty error: object file .git/objects/03/9e5691db59686e2afce2da700853398c961b4a is empty fatal: loose object 039e5691db59686e2afce2da700853398c961b4a (stored in .git/objects/03/9e5691db59686e2afce2da700853398c961b4a) is corrupt ``` Всё синхронизировано с удалённым git-репозиторием, поэтому особо не стал озадачиваться проблемой: ``` $ rm -rf .git $ git init $ git remote add origin адрес_репозитория $ git fetch $ git reset --hard origin/master ``` Частые push и коммиты небольших изменений (но, естественно, логически отдельных) — это прекрасно, но, интересно, а что делать в этой ситуации, если жалко терять изменения? git fsck ? fsck ? [Источник](http://www.bazhukov.net/2015/02/git-corrupt-loose-object/) ## unable to create thread: Resource temporarily unavailable ```shell # Для одного проекта git config pack.threads "1" # Для всех проектов на сервере: git config --global pack.threads "1" ``` [Подробности](https://axenov.dev/git-unable-to-create-thread-resource-temporarily-unavailable/) ## unable to create threaded lstat ```shell # Для одного проекта: git config core.preloadIndex false # Для всех проектов на сервере: git config --global core.preloadIndex false ``` [Подробности](https://axenov.dev/git-unable-to-create-threaded-lstat/)