如何在服务器上设置裸git存储库以按ssh克隆?

时间:2015-10-26 21:25:43

标签: git ssh

所以我其实非常熟悉git。但我从未设置过自己的git 服务器。所以以下几点应该是自我解释的。

无论如何:我想在我的Windows客户端上检查我的每个ssh的回购。但我得到一个错误,说回购不存在或我有足够的权限。实际上我对repo有权限,repo确实存在。我不确定我的问题在哪里。我可以从我的客户端进入服务器。

server(linux)

$ whoami
foo
$ mkdir /git/myrepo && cd /git/myrepo
$ git --bare init

客户端(带cmder / conemu的窗口)

# user foo is in group git
$ git clone ssh://foo@myserver/git/myrepo myclone
Cloning into 'myclone'...
foo@myserver's password:
fatal: '/git/myrepo' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我也试过git协议 - 但由于我对这个协议不是很熟悉,所以我刚刚切换到ssh

$ git clone git://myserver/git/myrepo myclone
Cloning into 'myclone'...
fatal: unable to connect to myserver:
myserver[0: 192.168.178.50]: errno=No error

2 个答案:

答案 0 :(得分:1)

你无法克隆它,因为回购中没有任何内容。

你要做的就是在本地init,提交一些东西(第一次提交),添加远程并推送到repo。

以下是一个完整的例子:

http://thelucid.com/2008/12/02/git-setting-up-a-remote-repository-and-doing-an-initial-push/

答案 1 :(得分:0)

您错误地指定了存储库的路径。尝试:

$ git clone ssh://foo@myserver:/git/myrepo myclone
                              ^^^

服务器:

$ whoami
foo
$ mkdir /repo
$ cd /repo
$ git init --bare

客户端:

$ git clone ssh://foo@localhost:/repo