git 克隆如何通过 http(s) 服务器将 .git 后缀添加到 URL



我用 Ubuntu 14.04 和 Apache2(2.4.7) 设置了一个 git http(s) 服务器。我在/home/char/git/下创建了一个文件夹名称 test.git。我成功了

Git 克隆 https://test.com/test.git

但失败了

git 克隆 https://test.com/test

对于 git protocal,两者都可以工作。我在 Git Pro 中尝试了 git update-server-info 和许多其他方法,但仍然在这里被阻止。有谁知道http(s)服务器因遗漏.git而失败的原因。以下是我在 Apache 2 中的配置

        ServerName test.com
        DocumentRoot /home/char/git
        <Directory "/home/char/git">
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        AllowOverride None
        Require all granted
        </Directory>
        <LocationMatch "^/git/.*/git-receive-pack$">
        AuthType Basic
        AuthName "Git Repositories"
        Require valid-user
        </LocationMatch>
        SetEnv GIT_PROJECT_ROOT /home/char/git
        SetEnv GIT_HTTP_EXPORT_ALL
        SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
        ScriptAlias /git/ /usr/lib/git-core/git-http-backend/   
        SSLEngine on
        SSLCertificateFile    /etc/gitdata/mygit_ssl.crt
        SSLCertificateKeyFile /etc/gitdata/mygit_ssl.key
我认为

这是因为一些存储库被称为<something>而另一些存储库被称为<something>.git(尤其是裸存储库)。

最新更新