Satu konfigurasi Git dapat melayani dua rute yang sangat berbeda: host eksternal yang dijangkau melalui proxy yang disetujui dan host internal yang dijangkau langsung. Anda tidak perlu terus menyunting nilai default global setiap kali berpindah repositori.

Git mendukung konfigurasi HTTP khusus URL. Sebagai contoh:

[http]
    proxy = http://proxy.example:8080
[http "https://git.office.example/"]
    proxy =

Untuk repositori publik eksternal yang mengizinkan proxy publik, daftar proxy HTTP menawarkan kandidat untuk endpoint default. Nilai kosong adalah penimpaan eksplisit untuk URL yang cocok. Ini berbeda dari menghapus kunci yang lebih spesifik itu, yang dapat kembali mengekspos proxy generik.

Cocokkan URL yang digunakan Git

Skema, nama host, port, jalur, dan nama pengguna opsional berperan dalam aturan pencocokan yang didokumentasikan. Jangan memperlakukan subbagian URL sebagai ekspresi wildcard shell umum. Aturan jalur yang lebih sempit dapat mengalahkan aturan host yang lebih luas.

Untuk melihat konfigurasi proxy yang cocok hanya-baca:

git config --get-urlmatch http.proxy https://git.office.example/team/project.git

Ini memeriksa pencocokan konfigurasi. Ini bukan uji jaringan dan tidak membuktikan bahwa rute dapat dijangkau. Pertimbangkan juga cakupan konfigurasi lain dan pengaturan lingkungan yang relevan.

Pengalihan bukan pencocokan konfigurasi baru

Dokumentasi Git menyatakan bahwa URL yang dicocokkan adalah yang diberikan langsung ke perintah Git; URL yang dikunjungi karena pengalihan tidak berperan dalam pencocokan itu. Ingat batasan itu jika host pertama mengalihkan unduhan ke tempat lain.

Rute juga harus cocok dengan transportnya. Remote SSH tidak diatur oleh subbagian URL HTTP hanya karena layanan yang sama menawarkan situs HTTPS.

Gunakan beberapa aturan yang disengaja, lalu periksa hasilnya untuk URL yang representatif. Penumpukan panjang entri proxy global, lokal repositori, dan khusus URL jauh lebih sulit dicerna daripada perbedaan jaringan yang ingin Anda nyatakan.

Artikel terkait