Git“似乎不是一个git存储库”ip和端口而不是域?

时间:2013-06-04 07:55:17

标签: git gitlab

我正在尝试将我的第一个Git存储库提交给gitlab实例,我已经在debian-VM上设置了它。一切都将通过本地网络发生。创建新的repo后,gitlab中会显示以下命令。

mkdir test
cd test
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@10.200.3.248:1337:Matt/test.git
git push -u origin master

输入git push -u origin master后会发生这种情况:

git@10.200.3.248's password:
fatal: '1337:Matt/test.git' 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运行的端口吗? Gitlab可通过端口617访问,因此我能够通过http://xxx.xxx.xxx.xxx:617/Matt/test

访问GUI

我输入的密码似乎是正确的,因为错误的密码将以“权限被拒绝”消息结束。 OT:我不知道为什么要输入passwd,因为我已经生成并添加了ssh-key,如gitlab中所述,但这是另一个问题。

2 个答案:

答案 0 :(得分:20)

我已经解决了我的问题。给定的端口1337不是问题,虽然它也是错的,因为ssh似乎无法处理url中的端口:

Using a remote repository with non-standard port

对我有用的Git-url是:

git@10.200.3.248:repositories/Matt/test.git

我的Git用户主目录位于/home/git/,存储库存储在/home/git/repositories中,因此我必须将存储库添加到我的Git路径中。

GitLab告诉我使用网址git@10.200.3.248:1337:Matt/test.git的原因似乎是GitLab中配置错误的Git路径。我现在试着解决这个问题。

编辑:

/home/git/gitlab/config/gitlab.yml中配置了错误的主机。 “主机”必须没有端口......如果需要,端口还有一个额外的选项。

EDIT3: 仍然无法在路径中没有repositories的情况下推送或获取我的测试库。 https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide#could-not-read-from-remote-repository

也许与rsa-keys有关但我不明白它是如何属于一起的。

编辑4 :(问题似乎已经解决) 我的rsa-key很好。问题是我已经配置了我的sshd_config以仅允许某个用户进行ssh-login。我只是将Git添加到允许的用户列表中AllowUsers mylogin git

现在我不再需要通过密码登录了(如果正确设置了ssh rsa密钥,你就不必通过密码登录)并且路径在没有“存储库”的情况下工作。现在我明白了,这只是一个正常的ssh连接 - 我以前没有意识到这一点..

我想出来的方式:

以root用户身份登录终端:

service ssh stop #Current SSH-Connection won't be closed..
/usr/sbin/sshd -d

====debugging mode===

然后在Git Bash中:

ssh -Tv git@gitlab.example.com

之后,在调试模式下运行sshd的终端抛出了一个错误,即由于AllowUsers而不允许Git登录...

不要忘记之后开始使用ssh服务:

service ssh start

答案 1 :(得分:-3)

使用以下格式:

git remote add origin ssh://git@xxx.xxx.xxx.xxx:1337/Matt/test.git

user@host:[port]/path 在大多数情况下,我们省略了端口,它看起来像这样:user@host:/path ....