Gửi một bản sao GitPython qua proxy HTTP
Truyền môi trường proxy cho Repo.clone_from, sau đó kiểm tra các cài đặt Git có thể ghi đè nó.
Để gửi một bản sao HTTPS qua proxy mà không thay đổi môi trường của tiến trình Python hay ghi một cài đặt Git toàn cục, hãy truyền các biến cho 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',
},
)Dùng URL proxy trực tiếp trong các chuỗi Python. Với một kho công khai và tuyến đường cho phép proxy công khai, danh sách proxy HTTP cung cấp các điểm cuối ứng viên. Dấu ngoặc nhóm của shell không phải phần của URL đó. URL kho SSH đi theo vận chuyển SSH, nên ví dụ này cần URL kho HTTPS.
Nếu Git vẫn đi tuyến khác
Ánh xạ env cập nhật môi trường mà tiến trình con Git kế thừa; nó không thay môi trường đó bằng một môi trường rỗng. Kiểm tra các giá trị no_proxy kế thừa để tìm đường vòng, và kiểm tra cấu hình http.proxy của chính Git, thứ có thể ghi đè cài đặt môi trường tương ứng.
Bạn cũng có thể gặp các ví dụ truyền config cho bản sao. Lệnh đó gọi tùy chọn --config của Git clone và ghi cấu hình vào kho mới. Chỉ chọn cách đó khi cài đặt cần tồn tại lâu hơn tiến trình sao chép này; cấu hình Git lúc sao chép so với chỉ lúc gọi giải thích sự khác biệt.