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 内容,那么你的目录路径有误。
我正在尝试使用 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 内容,那么你的目录路径有误。