Jak sprawić, by Git używał serwera proxy?
Muszę sprawdzić kod z serwera Git, ale za każdym razem wyświetla się komunikat „Upłynął limit czasu żądania”. Jak to obejść?
Alternatywnie, jak mogę ustawić serwer proxy?
git
version-control
proxy
PlagueHammer
źródło
źródło
Odpowiedzi:
Polecenie użycia:
proxyuser
na użytkownika proxyproxypwd
hasło do swojego serwera proxyproxy.server.com
na adres URL swojego serwera proxy8080
na port proxy skonfigurowany na serwerze proxyPamiętaj, że działa to zarówno dla repozytoriów http, jak i https.
Jeśli w dowolnym momencie zdecydujesz się zresetować tego serwera proxy i pracować bez serwera proxy:
Polecenie użycia:
Na koniec, aby sprawdzić aktualnie ustawiony serwer proxy:
źródło
%40
jako zamiennika ciągu@
nazwy użytkownika / hasła, chociaż sam tego nie testowałem. Mam nadzieję, że to pomoże. :-)To działało dla mnie w Windows XP za korporacyjną zaporą ogniową.
Nie musiałem instalować żadnego lokalnego serwera proxy ani żadnego innego oprogramowania oprócz git v1.771 z http://code.google.com/p/msysgit/downloads/list?can=3
proxyuser = użytkownik proxy, do którego zostałem przydzielony przez nasz dział IT, w moim przypadku jest to ten sam użytkownik systemu Windows, którego używam do logowania się na komputerze, użytkownik Active Directory
proxypwd = hasło mojego użytkownika proxy
proxy.server.com:8080 = nazwa i port proxy, mam go z Panelu sterowania, Opcje internetowe, Połączenia, przycisk Ustawienia sieci LAN, przycisk Zaawansowane w sekcji Serwer proxy, użyj nazwy serwera i portu w pierwszym wierszu (http) .
mygithubuser = użytkownik, którego używam do logowania się na github.com
mygithubpwd = hasło dla mojego użytkownika github.com
repoUser = właściciel użytkownika repo
repoName = nazwa repo
źródło
git config --global http.sslcainfo MY_NEW_CERTS_BUNDLE.crt
plus certyfikaty pobrane zgodnie z opisem w simplicidade.org/notes/archives/2011/06/… (dzięki: stackoverflow.com/a/7206627/98528 ) zrobiły to dla mnie!git://
protokołu.Ustaw zmienną systemową o nazwie
http_proxy
o wartościProxyServer:Port
. To jest najprostsze rozwiązanie. Odpowiednio, użyjhttps_proxy
zgodnie ze wskazaniami Daefu w komentarzach.Ustawienie gitproxy (jak wspomina sleske) to kolejna opcja, ale wymaga „polecenia”, które nie jest tak proste jak powyższe rozwiązanie.
Odnośniki: http://bardofschool.blogspot.com/2008/11/use-git-behind-proxy.html
źródło
http_proxy
wymagane są adresy URL HTTP ihttps_proxy
wymagane są adresy URL HTTPS. Alternatywnie można ustawić tylkoall_proxy
dla wszystkich adresów URL. ZobaczENVIRONMENT
sekcję w curl (1) . Jednak podczas ustawiania opcji git-confighttp.proxy
jest używany zarówno dla adresów URL HTTP, jak i HTTPS. Zobaczhttp.proxy
w git-config (1) .Jeśli konfiguracja serwera proxy z linii poleceń nie działa, prawdopodobnie możesz po prostu edytować plik .gitconfig (w katalogu głównym swojego profilu, który może ukrywać się zarówno w C: \ Documents and Settings, jak i na niektórych dyskach sieciowych) i dodać to :
YMMV obejmuje to jednak tylko pierwszy krok konfiguracji wiersza poleceń. Być może będziesz musiał również edytować systemową konfigurację git i nie mam pojęcia, gdzie to ukryli.
źródło
Alternatywnie do używania
git config --global http.proxy address:port
możesz ustawić proxy w wierszu poleceń:Zaletą jest to, że proxy nie jest ustawione na stałe. W Bash możesz ustawić alias:
źródło
Jeśli używasz Ubuntu, wykonaj następujące czynności ...
Krok 1: Zainstaluj korkociąg
Krok 2: Napisz skrypt o nazwie git-proxy.sh i dodaj następujące
Krok 3: Wykonaj skrypt
Krok 4: Skonfiguruj komendę proxy dla GIT, ustawiając zmienną środowiskową
Teraz użyj poleceń git, takich jak
źródło
"$@"
zamiast$*
. Więcej informacji znajduje się w instrukcji obsługi powłoki.Napotkano ten sam problem z powodu wielu
.gitconfig
plików w systemie Windows, wykonaj poniższe kroki, aby to naprawić:Krok 1: Otwórz Git BASH
Krok 2: Wyszukaj
.gitconfig
, wykonując następujące polecenie:Krok 3: Skopiuj poniższą treść w
.gitconfig
:źródło
Spróbuj umieścić następujące informacje w pliku ~ / .gitconfig:
źródło
Dla protokołu git (git: // ...) zainstaluj socat i napisz skrypt, taki jak:
uczyń go wykonywalnym, umieść go na swojej ścieżce, a w
~/.gitconfig
zestawiecore.gitproxy
na nazwę tego skryptu.źródło
socat STDIO PROXY:%proxy%:%1:%2,proxyport=%PROXYPORT%
set GIT_PROXY_COMMAND=path\to\script
aby GIT korzystał z proxy bez bałaganu w git config.Jest coś, co zauważyłem i chcę się tutaj podzielić:
Powyższa metoda nie będzie działać dla adresów URL ssh (tj.
[email protected]:<user name>/<project name>.git
):I nic się nie zmieni, jeśli ustawimy SSH przez port HTTPS ( https://help.github.com/en/articles/using-ssh-over-the-https-port ), ponieważ zmienia tylko port (domyślnie 22 ) łączy się połączenie ssh.
(Nie jesteś rodzimym językiem angielskim, w razie potrzeby popraw moje słowa)
źródło
Pracuję w systemie Windows XP w pracy (stan / rząd), więc zrobiłem swoje badania i znalazłem to tutaj i zadziałało to dla mnie. Mam nadzieję że to pomoże :)
Zmienna środowiskowa http_proxy
Jeśli korzystasz z serwera proxy lub zapory, może być konieczne ustawienie zmiennej środowiskowej http_proxy, aby uzyskać dostęp do niektórych adresów URL z wiersza poleceń. Przykład: Instalowanie ppm dla Perla lub stosowanie RPM w Linuksie, aktualizacja Ubuntu
Ustaw zmienną http_proxy za pomocą nazwy hosta lub adresu IP serwera proxy: http_proxy = http: // [proxy.example.org]
Jeśli serwer proxy wymaga nazwy użytkownika i hasła, dołącz je w następującej formie: http_proxy = http: // [nazwa użytkownika: hasł[email protected]]
Jeśli serwer proxy używa portu innego niż 80, podaj numer portu: http_proxy = http: // [nazwa użytkownika: hasł[email protected]: 8080]
Windows XP
Linux, Solaris lub HP-UX
Ustaw zmienną środowiskową http_proxy za pomocą polecenia specyficznego dla twojej powłoki (np. Ustaw lub eksportuj). Aby ta zmiana była trwała, dodaj polecenie do odpowiedniego pliku profilu dla powłoki. Na przykład w bash dodaj do pliku .bash_profile lub .bashrc wiersz podobny do następującego:
źródło
Oprócz tych odpowiedzi uznałem za pomocne rozważenie tych 2 punktów:
Konieczne może być wymuszenie schematu uwierzytelniania:
Ponadto, zazwyczaj w przypadku schematu uwierzytelniania NTLM, może być konieczne podanie jawnie domeny AD.
W git bash:
I odpowiednio zaktualizuj http.proxy:
W każdym razie dochodzenie może być pomocne poprzez dodanie dzienników CURL:
źródło
git config --global http.proxyAuthMethod basic
. Git gersion 2.8.3 nie wysłał żadnego uwierzytelnienia, dopóki nie ustawię tego parametru konfiguracyjnego.Jeśli masz zainstalowane i skonfigurowane tsocks lub proxy , możesz to zrobić
lub
aby było krótsze, stworzyłem link
/usr/bin/p
do symboluproxychains
, dzięki czemu mogę go używać w ten sposóbi mogę go użyć do proxy dowolnego polecenia,
nawiasem mówiąc, proxy nie są aktualizowane przez długi czas, możesz chcieć spróbować proxyych
źródło
Ustawienie git proxy na terminalu
gdyby
Ustaw raz globalnie
jeśli chcesz ustawić proxy tylko dla jednego projektu git (mogą wystąpić sytuacje, w których możesz nie chcieć używać tego samego proxy lub dowolnego proxy dla niektórych połączeń git)
jeśli chcesz wyświetlić bieżące ustawienia proxy
jeśli chcesz usunąć serwer proxy globalnie
jeśli chcesz usunąć proxy tylko dla jednego git roota
źródło
oto ustawienie proxy
źródło
Postępowałem zgodnie z większością odpowiedzi, które zostały tu polecone. Najpierw dostałem następujący błąd:
Następnie wypróbowałem następujące polecenie @Salim Hamidi
Ale dostałem następujący błąd:
Może się to zdarzyć, jeśli serwer proxy nie może zweryfikować certyfikatu SSL. Chcemy więc upewnić się, że weryfikacja ssl jest wyłączona (niezalecana w przypadku niezaufanych witryn), więc wykonałem następujące kroki zalecane przez @Arpit, ale z niewielkimi zmianami:
1. Najpierw pamiętaj o usunięciu poprzednich ustawień proxy:
2. Następnie wyświetl listę i pobierz zawartość gitconfig
3.Ostatnia aktualizacja zawartości pliku gitconfig, jak poniżej:
źródło
Próbowałem wszystkich powyższych odpowiedzi i nic mi nie działało, ponieważ wystąpiły problemy z kodowaniem hasła proxy.
To polecenie działało:
Nie wpisuj hasła w swoim poleceniu. Będzie dynamicznie pytał, kiedy spróbujesz połączyć się z dowolnym repozytorium git.
źródło
Dla użytkowników systemu Windows: Jeśli
git config
lubset http_proxy=
nie działa, to odpowiedź może pomóc:zamień
git://
protokół repozytorium git nahttp://
. Pamiętaj, że i tak musisz ustawićhttp_proxy
pierwszą.źródło
Po niestrudzonym wypróbowaniu wszystkich rozwiązań na tej stronie, pracowałem nad użyciem i klucza SSH zamiast tego!
źródło