gpt4 book ai didi

Git 存储库 URL - 没有绝对路径的 SSH 语法

转载 作者:IT王子 更新时间:2023-10-29 00:43:06 29 4
gpt4 key购买 nike

我在自定义端口(比如 12345)上运行可通过 SSH 访问的 git 存储库服务器。我发现在这种情况下,需要使用 SSH 语法指定存储库 URL:

git clone ssh://login@server.com:12345/absolute/path/to/repository

我想以这样一种方式设置它,即用户可以在不指定绝对路径的情况下克隆存储库。

git clone ssh://login@server.com:12345/repository.git

我研究了这个主题并找到了以下选项:

  1. 从 URL 中删除自定义端口并让用户将其添加到他们的 ~/.ssh/config 文件(最后的解决方法而不是解决方案)。
  2. 放弃 SSH 并使用 git-daemon 并指定其 --base-path 参数(仍然是一种解决方法...)
  3. 使用 gitosisgitolite 之类的实用程序 - 但仅将其用于此目的不是太过分了吗? Gitosis 已停产,gitolite 是一个相当庞大的软件......

我想要的只是一个带有自定义端口的“更漂亮”的 SSH URL(这样我就可以分发整个 git clone 命令,而不再需要远程用户)。在我的案例中,上述哪一种解决方案最可行?

最佳答案

如果您使用 ssh URL 的替代形式,则不需要绝对路径。例如……

git clone lars@myserver.example.com:repos/myrepo.git

...将相对于我的主目录克隆存储库 repos/myrepo.git,尽管这不允许使用备用端口。但是,您也可以在任何一种形式中使用 ~ 来指示用户的主目录,例如:

git clone ssh://login@server.com:12345/~/repository.git

顺便说一句,尽管 gitosis 已经停产,但它的功能还是相当不错的,而且代码既小又易于理解。它提供了一组有用的访问控制和存储库的自助服务管理。我不会完全打折。

关于Git 存储库 URL - 没有绝对路径的 SSH 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14348874/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com