Nadaj Gitowi różne reguły proxy dla różnych hostów
Konfiguracja HTTP Git właściwa dla adresów URL może utrzymać usługę wewnętrzną bezpośrednio, zachowując proxy gdzie indziej. Sprawdź wynik dopasowania dla dokładnego URL.
Jedna konfiguracja Git może obsługiwać dwie zupełnie różne trasy: hosta zewnętrznego osiąganego przez zatwierdzone proxy i hosta wewnętrznego osiąganego bezpośrednio. Nie musisz za każdym razem edytować globalnej wartości domyślnej, gdy zmieniasz repozytorium.
Git obsługuje konfigurację HTTP właściwą dla adresów URL. Na przykład:
[http]
proxy = http://proxy.example:8080
[http "https://git.office.example/"]
proxy =
Dla zewnętrznego publicznego repozytorium, w którym dozwolone są publiczne proxy, lista proxy HTTP oferuje kandydatów dla domyślnego punktu końcowego. Pusta wartość jest jawnym nadpisaniem dla pasującego URL. Różni się to od usunięcia tego bardziej szczegółowego klucza, co może ponownie ujawnić ogólne proxy.
Dopasuj URL, którego używa Git
Schemat, nazwa hosta, port, ścieżka i opcjonalna nazwa użytkownika uczestniczą w udokumentowanych regułach dopasowania. Nie traktuj podsekcji URL jako ogólnego wyrażenia symboli wieloznacznych powłoki. Węższa reguła ścieżki może pokonać szerszą regułę hosta.
Aby tylko odczytać pasującą konfigurację proxy:
git config --get-urlmatch http.proxy https://git.office.example/team/project.git
To sprawdza dopasowanie konfiguracji. Nie jest to test sieciowy i nie dowodzi, że trasa jest osiągalna. Weź też pod uwagę inne zakresy konfiguracji i odpowiednie ustawienia środowiska.
Przekierowanie nie jest nowym dopasowaniem konfiguracji
Dokumentacja Git mówi, że dopasowywane są adresy URL przekazane bezpośrednio poleceniom Git; adresy odwiedzane w wyniku przekierowania nie uczestniczą w tym dopasowaniu. Miej to ograniczenie na uwadze, jeśli pierwszy host przekierowuje pobieranie gdzie indziej.
Trasa powinna też odpowiadać transportowi. Zdalne repozytorium SSH nie podlega podsekcji URL HTTP tylko dlatego, że ta sama usługa oferuje witrynę HTTPS.
Użyj kilku celowych reguł, a następnie sprawdź wynik dla reprezentatywnych adresów URL. Długie nagromadzenie globalnych, lokalnych dla repozytorium i właściwych dla URL wpisów proxy jest znacznie trudniejsze do zrozumienia niż różnica sieciowa, którą próbowałeś wyrazić.