git vs git --bareВаш гит репозиторий может существовать в двух вариантах: обычный и --bare. Обычный это ~гит-клиент, а необычный это ~гит-сервер. Ну то есть как бы нет, но --bare существует чтобы его как remote использовали обычные репозитории. И в нём ещё нет файлов.
Вы можете на своём впс создать --bare репозиторий и через ssh в него синхронизироваться не используя никаких сервисов вроде гитхаба. И каждый у кого будет ssh доступ тоже сможет его использовать как remote.
Почему-то когда создаёшь обычный, то он для себя создаёт отдельную директорию , а когда --bare то он указанный путь использует как .git.
> git init ./git-normal/
Initialized empty Git repository in /tmp/.dotfiles/git-normal/.git/
> git init --bare ./git-bare/
Initialized empty Git repository in /tmp/.dotfiles/git-bare/
> ls -lah git-normal/
.git/
> ls -lah git-bare/
hooks/
info/
objects/
refs/
HEAD
config
description
Смешная шутка: если вы положите --bare в ./.git/, то оно будет выглядеть как будто бы ./ тут есть гит, и он даже есть, но его нет!
fatal: this operation must be run in a work tree
2025.11.09 20:36