我想镜像我的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访问的原因是为我的项目提供公共只读访问权限。
答案 0 :(得分:3)
尝试在服务器存储库上运行git update-server-info
。如果您希望通过愚蠢的HTTP传输可以获取它,则需要在推送到存储库之后执行此操作。