По сути, я хотел бы настроить хранилище на удаленном сервере на лету. Обычно репозиторий необходимо инициализировать на удаленном компьютере с помощью init --bare
прежде чем можно будет отправлять коммиты с другого устройства. Есть ли способ обойти это?
В идеале у меня есть два момента, которые я хотел бы выполнить:
- Оставьте клиентскую сторону без изменений, что означает отсутствие настроек, кроме
git remote add ...
- Используйте SSH в качестве протокола передачи.
Что я думал до сих пор:
Игнорирование спроса по SSH. Вместо этого нажав HTTPS, я мог бы разместить сервер HTTPS, который инициализирует несуществующие репозитории, прежде чем принять push.
Изменение функциональности git на стороне сервера, перехват команд push (называемых в git-shell?). Я не нашел никакой документации о том, что происходит на стороне сервера при передаче по SSH, поэтому я не смог дополнительно исследовать это возможное решение.
Что касается # 2, я мог бы реализовать SSH-сервер, работающий на удаленном компьютере, инициализируя несуществующие репозитории перед выполнением дальнейших команд. Но, как и в случае с № 2, я не нашел документации по push-конвейеру.
Разъяснение:
Могу ли я отправить на удаленный компьютер, который еще не инициализировал хранилище? Могу ли я в достаточной степени обнаружить входящие импульсы, инициализируя хранилище перед продолжением?