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

60 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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