У меня есть локальный репозиторий TestRepo. Я клонирую его с помощью опции --bare, заархивирую этот клон и выброслю на свой сервер. Разархивируйте его, и оно все еще голое.
Затем я локально клонирую пустой удаленный репозиторий поверх ssh с чем-то вроде
git clone ssh://git@host.com/~/TestRepo.git TestRepoCloned
Локальный TestRepoCloned является не голым и имеет пульт, называемый "источник". Похоже, что он правильно отслеживает по внешнему виду его файла конфигурации
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://git@host.com/~/TestRepo.git
[branch "master"]
remote = origin
merge = refs/heads/master
Я редактирую существующий файл. Я фиксирую изменение в текущей ветви (master) через
git commit -a -m "Edited a file."
Фиксация успешна, и все хорошо.
Я решил отправить это изменение в удаленный репозиторий через SSH с
git push
Удаленный репозиторий больше не доступен, но содержит полный рабочий каталог, и я получаю постоянные сообщения об ошибках при всех дальнейших попытках отправки в него.
Все, что я прочитал, похоже, говорит о том, что я делаю правильно, но это просто не работает. Как я должен вносить изменения в голое удаленное репо и на самом деле держать его голым ?