リポジトリのクローンを作成するとき、これら2つのURLに違いはありますか?
.git拡張子なし:
git clone http://foo/repo
.git拡張子付き:
git clone http://foo/repo.git
慣例では、。git拡張子はベアリポジトリに使用し、作業ツリーのあるディレクトリは省略します。 Gitは実際には気にしませんが、これをかなり透過的にする便利な方法がいくつかあります。
たとえば、/tmp/foo.gitという名前のリポジトリがあり、git clone file:///tmp/foo
を呼び出すと、Gitは最初に/ tmp/fooを見つけようとします。存在しない場合は、代わりに/ tmp/foo.gitを試行します。
これはnotは逆に機能しません。ディレクトリの名前が/ tmp/fooで、/ tmp/foo.gitからクローンを作成しようとすると、次のように通知されます。
致命的: '/ tmp/foo.git'はgitリポジトリではないようです
HTTP/HTTPS機能のほとんどは、GitではなくWebサーバーからのものです。 スマートHTTPトランスポート を使用している場合でも、ほとんどの魔法はサーバー側のLocationMatchディレクティブで発生すると思います。理論はさておき、GitHubに対するいくつかの簡単なテストでは、その点でSSHおよびGitプロコトールと同じように機能することが示されていますが、他のWebサーバーではマイレージが異なる場合があります。