Dla repozytorium git być dostępne za pośrednictwem transportu HTTP, musi być „eksportowane” przez (dowolnego) serwera WWW. Jeśli twoje repozytorium (a dokładniej jego katalog .git
) jest widoczne z zewnątrz w przeglądarce internetowej, to można je sklonować lub pobrać anonimowo za pomocą protokołu HTTP. git update-server-info
służy do generowania dodatkowych pomocniczych informacji pomocniczych (.git/objects/info/packs
i .git/info/refs
) do klonowania (lub pobierania), aby wiedzieć, co jest dostępne.
Więc co trzeba zrobić, to albo usunąć te dwa pliki (.git/objects/info/packs
i .git/info/refs
), lub po prostu zrobić to tak repozytorium nie jest dostępny za pośrednictwem sieci, być może przez Zmiana uprawnień w taki sposób, że użytkownik, który serwer internetowy działający jako (zwykle "nikt" lub "www" lub "apache") nie ma dostępu do repozytorium .git
. Lub skonfiguruj serwer WWW, aby nie eksportował (nie wyświetlał) twojego repozytorium.
Protokół HTTP jest (obecnie) tak zwanym "niemym" protokołem, co oznacza, że obsługuje pliki takie jakie są, a kontrola dostępu jest wykonywana przez [niemego] serwer, w tym przypadku przez serwer internetowy, którego używasz (lub przez system plików)).
Domyślam się, że twoje repozytorium nie zostało wyeksportowane przez serwer WWW, więc nie musisz się martwić: Twoje repozytorium nie jest dostępne przez HTTP.
Należy pamiętać, że jest to cytat zwykle dla repozytoriów Git mieć anonimowe nieautoryzowany dostęp tylko do odczytu i wymagają uwierzytelnienia tylko do zapisu do repozytorium czyli popychanie (przynajmniej dla projektów open-source)
Z Git 2.12 (Q1 2017), będziesz miał 'git config protocol. .allow ... '. Zobacz [moja odpowiedź poniżej] (http://stackoverflow.com/a/41369667/6309) –
VonC