60 lines
2.0 KiB
Markdown
60 lines
2.0 KiB
Markdown
---
|
||
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/)
|