Git:尝试访问 git 存储库时权限被拒绝

Git: Permission denied when trying to access git repo

我正在尝试使用 GIT 开始处理我的代码。

在我的服务器上,文件夹 /root/git/apotheke/dienstplan 被设置为 git 存储库。

git init

当我尝试获取数据的本地副本时出现错误:

git clone ssh://bruno@bruno-xxx.de/root/git/apotheke/dienstplan/ Klone nach 'dienstplan' ... standard in must be a tty fatal: '/root/git/apotheke/dienstplan' 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.

所以我尝试了

ssh -vT bruno@bruno-xxx.de:/root/git/apotheke/dienstplan/ ssh: Could not resolve hostname bruno-xxx.de:/root/git/apotheke/dienstplan/: Name or service not known

但是当我省略文件夹时它起作用了。

ssh -vT bruno@bruno-xxx.de

我错过了什么?我在哪里可以找到错误的线索?如何访问我的 git 存储库?

更新: 这是用户权限的问题。 尽管我递归地将文件夹 /root/git/apotheke/dienstplan/ 的组更改为 "bruno",但我无法访问它。 将目录移动到 /home/bruno/ 目录后,我将所有者更改为 bruno:bruno。现在一切正常:

git clone ssh://bruno@bruno-xxx.de:/home/martin/git/apotheke/dienstplan Klone nach 'dienstplan' ... standard in must be a tty remote: Counting objects: 3, done. remote: Compressing objects: 100% (2/2), done. Empfange Objekte: 100% (3/3), done. remote: Total 3 (delta 0), reused 0 (delta 0) Prüfe Konnektivität ... Fertig.

What did I miss?

你做错了:-)

ssh://bruno@bruno-xxx.de/root/git/apotheke/dienstplan/ 不是有效的 URL,因此出现错误也就不足为奇了。

对于第二个命令,ssh 使用主机名,但那不是主机名。

对于第三个命令,这是一个主机名,所以它有效。

完全不足为奇。

如果在第一个命令中添加缺少的:时仍然出现错误,那么您需要检查目录路径是否正确。您已经确认可以连接到主机(这就是第三条命令显示的内容)所以这样做:

ssh -vT bruno@bruno-xxx.de 'ls /root/git/apotheke/dienstplan/'

如果可行,则该目录存在。如果它显示 Git 存储库内容,那么它是一个有效的存储库。如果它不起作用,或者不显示 repo 内容,那么你的目录路径有误。