![通过 SSH 提交的 Git 无法识别远程存储库](https://linux22.com/image/1458184/%E9%80%9A%E8%BF%87%20SSH%20%E6%8F%90%E4%BA%A4%E7%9A%84%20Git%20%E6%97%A0%E6%B3%95%E8%AF%86%E5%88%AB%E8%BF%9C%E7%A8%8B%E5%AD%98%E5%82%A8%E5%BA%93.png)
我有 2 台机器,客户端和服务器。我想使用远程推送将 git 存储库从客户端发送到服务器。我在服务器上按以下顺序运行了以下命令:
mkdir /mnt && cd /mnt
mkdir test.git && cd test.git
sudo git init --bare
我在客户端上运行了以下命令:
mkdir /mnt && cd /mnt
mkdir test.git && cd test.git
sudo git init
sudo git remote add testy ssh://user@server/mnt/test.git
sudo vim testing.txt
sudo git add testing.txt
sudo git commit -m "testing"
sudo git push testy master
这会在客户端计算机上产生错误:
fatal: '/mnt/test.git' does not appear to be a git repository. fatal: The remote end hung up unexpectedly.
有几个类似的问题,但没有一个能解决我的问题。我逐字逐句地尝试了他们的解决方案,但没有成功。这不是重复的,因为那些答案并没有解决问题。有什么建议可以解决这些问题吗?
答案1
我猜测user@server
没有读/写/执行权限/mnt/test.git
:
$ sudo sh -c 'cd $(mktemp -d) && git init --bare'
Initialized empty Git repository in /tmp/tmp.TNLcXTZQcN/
$ cd $(mktemp -d)
$ git remote add /tmp/tmp.TNLcXTZQcN
fatal: Not a git repository (or any parent up to mount point /tmp)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).