Untuk mengirim satu klon HTTPS melalui proksi tanpa mengubah lingkungan proses Python atau menulis pengaturan Git global, berikan variabelnya ke Repo.clone_from:

from git import Repo

repo = Repo.clone_from(
    'https://git.example/team/project.git',
    '/path/to/new-checkout',
    env={
        'http_proxy': 'http://proxy.example:8080',
        'https_proxy': 'http://proxy.example:8080',
    },
)

Gunakan URL proksi langsung di string Python. Untuk repositori publik dan rute yang mengizinkan proksi publik, daftar proksi HTTP menyediakan endpoint kandidat. Tanda kutip pengelompokan shell bukan bagian dari URL tersebut. URL repositori SSH mengikuti transport SSH, jadi contoh ini memerlukan URL repositori HTTPS.

Jika Git masih mengambil rute lain

Pemetaan env memperbarui lingkungan yang diwarisi subproses Git; ia tidak menggantinya dengan lingkungan kosong. Periksa nilai no_proxy yang diwarisi untuk bypass, dan periksa konfigurasi http.proxy milik Git, yang dapat menimpa pengaturan lingkungan terkait.

Anda juga dapat menemukan contoh yang memberikan config ke klon. Itu memanggil opsi --config Git clone dan menulis konfigurasi ke repositori baru. Pilih itu hanya jika pengaturan harus bertahan melewati proses klon ini; konfigurasi Git saat klon versus hanya saat pemanggilan menjelaskan perbedaannya.

Artikel terkait