Я хотел отразить свой репозиторий 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-доступ, заключается в том, чтобы предоставить публичный доступ только для чтения к моему проекту.