tech-tips/Программное обеспечение/Версионирование кода/git/Исправление ошибок.md

60 lines
2.0 KiB
Markdown
Raw Normal View History

---
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/)