通过SSH克隆使服务器认为GIT的主目录是文件系统的根?

Mar*_*rio 3 git

我已经用一个git帐户设置了一个简单的服务器,并使用SSH将其连接到该帐户。我尝试使用克隆位于其主目录(/ srv / git)中的存储库git clone ssh://git@server:port/repository。除非我添加~/到存储库名称,否则它将无法正常工作。如果不添加它,则只有在存储库位于文件系统的根目录下时,它才起作用。

某种程度上,git无法实现其自己的用户目录。如何更改这种“奇数”行为,使其按预期工作?(至少对于我来说)

Thi*_*ter 5

您必须提供绝对路径或使用~来指示主目录的路径。引用自git-clone(1)

ssh和git协议还支持〜username扩展:

  • ssh://[user@]host.xz[:port]/~[user]/path/to/repo.git/
  • git://host.xz[:port]/~[user]/path/to/repo.git/
  • [user@]host.xz:/~[user]/path/to/repo.git/

另一种解决方案是使用诸如乙醇钠之类的东西。然后,您将能够使用存储库URL,例如sshuser@host:reponame