Я нахожусь в ситуации, когда у меня есть локальное дерево исходных текстов, которое было клонировано из репозитория git, которое я пытаюсь перенести в новое удаленное местоположение.
Я установил gitolite на сервер, используяметод пакета (deb).Я следовал инструкциям Wiki , заканчивающимся успешным git clone gitolite@localhost:gitolite-admin
.Затем я добавил новый репозиторий и мои открытые ключи.Я могу клонировать этот репозиторий на своей машине (клиенте), но не могу в него войти. документ по устранению неполадок SSH описывает мой сценарий :
рассмотрим git @ server: repositories / reponame.git.Операция клонирования будет работать - вы используете полный путь Unix (при условии установки $ REPO_BASE по умолчанию), и поэтому оболочка находит репозиторий в том месте, где вы сказали, что это будет.Тем не менее, когда вы нажимаете, запускается обновление gitolite, и он не запускается, потому что некоторые ожидаемые переменные окружения отсутствуют
Итак, я могу клонировать с
git clone gitolite@server.com:repositories/reponame.git
но не с
git clone gitolite@server.com:reponame.git
(я получаю fatal: 'reponame.git' does not appear to be a git repository
)
Если я внесу изменения в клонированный (пустой) репозиторий и попытаюсь нажать, яget
remote: ENV GL_RC не установлен remote: BEGIN не удалось - компиляция прервана в ловушках / строка обновления 20. remote: ошибка: ловушка отклонена для обновления ссылок / заголовков / master
Так что, похоже, это связано с префиксом - однако, как я уже упоминал, я не могу клонировать репо без включения в путь спецификатора repositories/
.
Это то, что подразумевается под "обходом гитолита"?Как я могу исправить ситуацию?В конечном счете, я хочу перенести все существующее дерево исходных текстов на новый пульт (я добавил новый сервер в качестве удаленного в .git/config
) и вести историю.