如何通过 http(s) 创建远程 git 存储库

How to create remote git repository over http(s)

到目前为止:

我在自己的(家庭)服务器上安装了 apache 和 git-http-backend 运行。我可以通过 ssh 连接到服务器并创建一个存储库。 我能够在本地克隆服务器 repo,进行更改并推送回服务器。

我将创建许多小项目。在 svn 上,我以前只有很少的存储库,项目只是子目录。 svn 支持仅获取子文件夹并假定它们是项目。 在 git 中,我无法从子文件夹克隆,在我看来,项目应该在它自己的存储库中。 我的问题是:如何在没有 ssh 进入服务器的情况下创建存储库(实际上是一个项目)。 (顺便说一句,我只在我的家庭网络中启用了 ssh。)

我试过 gitweb,但它似乎是一个只读工具。 我曾尝试“git init --bare https://...”,但该路径将路径解释为本地相对路径。

如果您只是使用标准 git-http-backend 命令和 Apache,则无法通过 HTTPS 自动创建远程存储库。您必须登录服务器并手动创建它们,因为 Git 仅提供本地磁盘上已经存在的存储库。

如果您使用像 Gitolite 这样的工具,您可以设置通配符规则以允许通过克隆自动创建存储库。