Warum haben manche repository-URLs Ende .git und andere nicht?
Wenn ich clone a repository, gibt es einen Unterschied zwischen diesen beiden URLs?
-
Ohne .git-Erweiterung:
git clone http://foo/repo
-
Mit .git-Erweiterung:
git clone http://foo/repo.git
- wenn Sie beziehen sich auf Github URLs .git ist optional
- Vielleicht haben Sie Interesse in dieser beantworten. Speziell Die Namenskonvention der reponame.git ist in der Regel reserviert für bare repositores ...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Des übereinkommens ist, dass der .git Erweiterung sollte verwendet werden, für die bare-repositories und Links aus Verzeichnissen mit einer funktionierenden Struktur. Git nicht wirklich, aber ein paar convenience-Methoden, die machen das ziemlich transparent.
Zum Beispiel, wenn Sie ein repository namens /tmp/foo.git und rufen Sie
git clone file:///tmp/foo
, Git, werden zuerst versuchen zu finden /tmp/foo. Wenn es nicht vorhanden ist, wird es versuchen, /tmp/foo.git statt.Bedeutet dies nicht anders herum funktionieren. Wenn Ihr Verzeichnis namens /tmp/foo und Sie versuchen, Klonen von /tmp/foo.git Sie sagte:
Meisten die HTTP/HTTPS-Funktionalität wird von Ihrem web-server, nicht Git. Auch wenn Sie mit Smart HTTP transport, ich vermute, die meisten von der Magie passiert in einem server-side-LocationMatch Richtlinie. Theorie beiseite, einige schnelle tests gegen GitHub zeigen, dass es funktioniert auf die gleiche Weise wie die SSH-und Git procotols in dieser Hinsicht, aber Ihre Laufleistung variieren auf anderen web-Servern.