ერთი GitPython კლონის HTTP პროქსის გავლით გაგზავნა
გადაეცით პროქსის გარემო Repo.clone_from-ს, შემდეგ შეამოწმეთ Git-ის ის პარამეტრები, რომლებმაც შეიძლება ის გადაფარონ.
იმისთვის, რომ ერთი HTTPS კლონი პროქსის გავლით გააგზავნოთ 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 პირდაპირ Python სტრიქონებში. საჯარო რეპოზიტორიისა და იმ მარშრუტისთვის, სადაც საჯარო პროქსები დაშვებულია, HTTP პროქსების სია გთავაზობთ კანდიდატ საბოლოო წერტილებს. Shell-ის დაჯგუფების ბრჭყალები ამ URL-ის ნაწილი არ არის. SSH რეპოზიტორიის URL მიჰყვება SSH ტრანსპორტს, ამიტომ ამ მაგალითს სჭირდება HTTPS რეპოზიტორიის URL.
თუ Git მაინც სხვა მარშრუტს ირჩევს
env ასახვა აახლებს იმ გარემოს, რომელსაც Git ქვეპროცესი მემკვიდრეობით იღებს; ის არ ცვლის ამ გარემოს ცარიელით. შეამოწმეთ მემკვიდრეობით მიღებული no_proxy მნიშვნელობები გვერდის ავლისთვის, და შეამოწმეთ თავად Git-ის http.proxy კონფიგურაცია, რომელმაც შეიძლება გადაფაროს შესაბამისი გარემოს პარამეტრი.
შეიძლება შეგხვდეთ მაგალითები, რომლებიც კლონს გადასცემენ config-ს. ეს იძახებს Git clone-ის --config ოფციას და წერს კონფიგურაციას ახალ რეპოზიტორიაში. აირჩიეთ ეს მხოლოდ მაშინ, როცა პარამეტრმა უნდა გადააჭარბოს ამ კლონირების პროცესს; Git კონფიგურაცია კლონირების დროს და მხოლოდ გამოძახების დროს ხსნის განსხვავებას.