Не может клонировать удаленное зеркало Git по HTTP, но может по SSH - PullRequest
2 голосов
/ 06 февраля 2011

Я хотел отразить свой репозиторий git, поэтому я сделал следующее по SSH:

$ mkdir tvshowtracker.git
$ cd tvshowtracker.git
$ git init --bare

тогда локально:

$ git remote add rolisoftdotnet ssh://rolisoft@rolisoft.net/repos/tvshowtracker.git
$ git push rolisoftdotnet master

Теперь, если я хочу клонировать свой репозиторий в другом месте, он работает, если я делаю это по SSH:

$ git clone ssh://rolisoft@rolisoft.net/repos/tvshowtracker.git
Cloning into tvshowtracker...
rolisoft@rolisoft.net's password:
remote: Counting objects: 1423, done.
remote: Compressing objects: 100% (460/460), done.
remote: Total 1423 (delta 953), reused 1423 (delta 953)
Receiving objects: 100% (1423/1423), 2.08 MiB | 355 KiB/s, done.
Resolving deltas: 100% (953/953), done.

Однако, если я хочу сделать это по HTTP, произойдет сбой с этой ошибкой:

$ git clone http://lab.rolisoft.net/repos/tvshowtracker.git
Cloning into tvshowtracker...
warning: remote HEAD refers to nonexistent ref, unable to checkout.

Я пытался выполнить каждую команду, которую видел в похожих постах, но ничего не помогло.

Я только начал играть с git, так что я не знаю, что делают 90% команд, но я все равно попробовал.

$ git push --all rolisoftdotnet
$ git branch -r
$ git branch master rolisoftdotnet/master
$ git checkout master

Причина, по которой мне нужен HTTP-доступ, заключается в том, чтобы предоставить публичный доступ только для чтения к моему проекту.

1 Ответ

3 голосов
/ 06 февраля 2011

Попробуйте запустить git update-server-info в хранилище сервера.Это необходимо сделать после любого перемещения в хранилище, если вы хотите, чтобы его можно было извлечь из тупого транспорта HTTP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...