Konwencja jest to, że .git przedłużenie powinny być wykorzystywane do naga repozytoria i pozostawione w katalogach z działającym drzewem. Git tak naprawdę nie obchodzi, ale ma kilka metod wygody, które sprawiają, że jest to dość przejrzyste.
Na przykład, jeśli masz repozytorium o nazwie /tmp/foo.git i zadzwonić git clone file:///tmp/foo
, Git najpierw spróbować znaleźć /tmp/foo. Jeśli nie istnieje, to spróbuj /tmp/foo.git zamiast.
To robi nie działa na odwrót. Jeśli katalog o nazwie /tmp/foo i próby sklonowania z /tmp/foo.git zostaniesz poinformowany:
śmiertelne: „/tmp/foo.git” nie wydaje się być repozytorium git
Większość funkcji HTTP/HTTPS pochodzi z serwera WWW, a nie z Git. Nawet jeśli używasz Smart HTTP transport, podejrzewam, że większość magii dzieje się w dyrektywie LocationMatch po stronie serwera. Teoria na bok, niektóre szybkie testy przeciwko GitHub pokazują, że działa to w taki sam sposób, jak SSH i Git procotols w tym zakresie, ale twój przebieg może się różnić na innych serwerach internetowych.
jeśli odnosimy się do adresów URL GitHub .git jest opcjonalny – gorelative
Możesz być zainteresowany [to] (http://stackoverflow.com/a/1734421/164966) odpowiedź. Konkretnie * Konwencja nazewnictwa reponame.git jest zazwyczaj zarezerwowane dla gołych repositores ... * – R0MANARMY