Bir proje farklı bağlantı istiyor diye genel Git proxy'si gerekmez. Mevcut çalışma kopyasının kendi yerel yapılandırması vardır; değişikliği o depoda tutabilirsiniz.

Örnekler güncel git config set/get/unset komutlarını kullanır. Proje dizini, uzak URL ve belgelendirme IP'si yer tutucudur. Açık proxy kullanımına izin verilen açık depo testinde HTTP proxy listesinden aday seçin.

git -C project config set --local http.proxy http://203.0.113.10:8080
git -C project ls-remote origin

Proxy URL'si taşıma şemasını içerir. HTTPS uzak adresi CONNECT destekli sıradan HTTP proxy kullanabilir; uzak adresin HTTPS şeması proxy URL'sini HTTPS olarak değiştirmeyi gerektirmez.

Git'in gerçekten ne seçtiğini kontrol edin

Sonuç beklenmedikse gerçek uzak URL için seçilen değeri inceleyin:

git -C project config get --show-origin \
  --url=https://example.com/team/project.git http.proxy

Sorguda gerçek HTTPS uzak adresinizi kullanın. Git'te sistem, kullanıcı, depo, komut satırı ve URL'ye özel ayarlar bulunabilir. Yalnızca genel http.proxy değerine bakmak daha özel bir kuralı gözden kaçırabilir. Kaynak çıktısı, sonucun geldiği dosyayı veya komut satırı kaynağını belirlemeye yardımcı olur.

Yerel ayar yalnızca belirli dala değil, o depodan HTTP tabanlı erişime uygulanır. Birden fazla HTTP uzak adresi olan depo, ayarı ilk test edilenden fazlası için kullanabilir. Daha dar eşleşme gerekirse URL'ye özel HTTP ayarları vardır.

Çalışma kopyası oluşmadan önce

İlk klonlamada geçersiz kılmanın kalıcı olup olmayacağını seçin; yalnızca o Git çağrısıyla sınırlamak için şunu kullanın:

git -c http.proxy=http://203.0.113.10:8080 \
  clone https://example.com/team/project.git

Komut satırı geçersiz kılması yeni çalışma kopyasında kendiliğinden kalıcı yapılandırma girdisine dönüşmez. Sonraki fetch işlemleri o rotayı kullanacaksa ardından yerel değer ayarlayın.

SSH uzak adresi farklı bir durumdur

git@host: veya ssh:// ile başlayan uzak adres SSH kullanır. Git'in HTTP proxy ayarı bunu HTTP aktarımına dönüştürmez. SSH işlemi hâlâ başarısız diye çalışan proxy IP'yi değiştirmeden önce uzak adresin taşımasını kontrol edin.

Yerel geçersiz kılmayı artık istemediğinizde yalnızca o anahtarı kaldırın:

git -C project config unset --local http.proxy

Kaldırma, diğer kaynaklardan gelen uygulanabilir yapılandırmayı yeniden ortaya çıkarır. Makinedeki tüm proxy ayarlarını silme komutu değildir.

İlgili makaleler