Στείλτε ένα κλώνο GitPython μέσω HTTP proxy
Περάστε ένα περιβάλλον proxy στο Repo.clone_from και μετά ελέγξτε τις ρυθμίσεις Git που μπορούν να το παρακάμψουν.
Για να στείλετε έναν κλώνο HTTPS μέσω proxy χωρίς να αλλάξετε το περιβάλλον της διεργασίας Python ή να γράψετε μια καθολική ρύθμιση Git, περάστε τις μεταβλητές στο 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',
},
)Χρησιμοποιήστε το URL του proxy απευθείας στις συμβολοσειρές Python. Για δημόσιο αποθετήριο και διαδρομή όπου επιτρέπονται δημόσια proxy, η λίστα HTTP proxy παρέχει υποψήφια τελικά σημεία. Τα εισαγωγικά ομαδοποίησης του κελύφους δεν είναι μέρος αυτού του URL. Ένα URL αποθετηρίου SSH ακολουθεί τη μεταφορά SSH, οπότε αυτό το παράδειγμα απαιτεί URL αποθετηρίου HTTPS.
Αν το Git ακολουθεί ακόμη άλλη διαδρομή
Η αντιστοίχιση env ενημερώνει το περιβάλλον που κληρονομεί η υποδιεργασία Git· δεν αντικαθιστά αυτό το περιβάλλον με κενό. Ελέγξτε τις κληρονομημένες τιμές no_proxy για παράκαμψη και τη ρύθμιση http.proxy του ίδιου του Git, που μπορεί να υπερισχύσει της αντίστοιχης ρύθμισης περιβάλλοντος.
Μπορεί επίσης να συναντήσετε παραδείγματα που περνούν config στον κλώνο. Αυτό καλεί την επιλογή --config του Git clone και γράφει ρύθμιση στο νέο αποθετήριο. Διαλέξτε το μόνο όταν η ρύθμιση πρέπει να επιβιώσει αυτής της διαδικασίας κλωνοποίησης· ρύθμιση Git κατά την κλωνοποίηση έναντι μόνο κατά την κλήση εξηγεί τη διαφορά.