无法克隆git存储库似乎不是git存储库致命:无法从远程存储库读取

无法克隆git存储库似乎不是git存储库致命:无法从远程存储库读取,git,Git,我正在跟踪git的文档,在远程服务器上创建一个存储库 在本地pc上: $ git clone --bare my_project my_project.git 我已将存储库复制到服务器上 $ scp -r my_project.git myuser@myip:/opt/git 但如果我尝试克隆 git clone myuser@myip:/opt/git/my_project.git 我明白了 我认为这是一个权限问题,但是如果我使用ssh连接myuser@myip我创建文件做任何事情都没有

我正在跟踪git的文档,在远程服务器上创建一个存储库 在本地pc上:

$ git clone --bare my_project my_project.git
我已将存储库复制到服务器上

$ scp -r my_project.git myuser@myip:/opt/git
但如果我尝试克隆

git clone myuser@myip:/opt/git/my_project.git
我明白了


我认为这是一个权限问题,但是如果我使用
ssh连接myuser@myip
我创建文件做任何事情都没有问题,文件夹属于myuser。

首先,检查是否通过运行

git remote -v
这将向您显示项目的所有推送/获取远程设备

如果返回时没有输出,则跳到最后一个代码块

验证远程名称/地址

如果返回的结果显示您已设置了遥控器,请检查遥控器的名称是否与您在命令中使用的遥控器匹配

$git remote -v
myOrigin ssh://git@example.com:1234/myRepo.git (fetch)
myOrigin ssh://git@example.com:1234/myRepo.git (push)

# this will fail because `origin` is not set
$git push origin master

# you need to use
$git push myOrigin master
如果要重命名远程设备或更改远程设备的URL,则需要先删除旧的远程设备,然后添加正确的远程设备

卸下旧遥控器

$git remote remove myOrigin
添加缺少的遥控器

$git remote remove myOrigin
然后,您可以使用

$git remote add origin ssh://git@example.com:1234/myRepo.git

# this will now work as expected
$git push origin master

这种语法对我来说似乎是可行的(尽管使用
scp
而不是
git push
的方式有点奇怪)。但是如果您查看错误消息,而不是缺少的前导
/
。因为(我不清楚的原因)
git
是相对于
myuser
的家而不是
/opt/git/myu project.git
所在的地方寻找
opt/git/myu project.git
。换言之,我肯定错过了一点。版本也许可以尝试在
myuser
前面加上
ssh://
scheme,以防名称中的某些内容引起麻烦?谢谢,但我已经解决了这个问题。在这种情况下,为了将来的读者,您可能希望分享您的发现。