أرسل نسخة 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',
},
)استخدم عنوان الوكيل مباشرة في سلاسل Python. بالنسبة إلى مستودع عام ومسار يُسمح فيه بالوكلاء العامة، توفّر قائمة وكلاء HTTP نقاط نهاية مرشحة. علامات الاقتباس التجمعية في الصدفة ليست جزءًا من ذلك العنوان. أما عنوان مستودع SSH فيتبع نقل SSH بدلًا من ذلك، لذا يتطلب هذا المثال عنوان مستودع HTTPS.
إذا سلك Git مسارًا آخر
يحدّث مخطط env البيئة التي ترثها عملية Git الفرعية؛ ولا يستبدل تلك البيئة ببيئة فارغة. افحص قيم no_proxy الموروثة بحثًا عن تجاوز، وافحص إعداد http.proxy الخاص بـ Git، الذي قد يتجاوز متغير البيئة المقابل.
قد تصادف أيضًا أمثلة تمرّر config إلى النسخ. ذلك يستدعي خيار --config في Git clone ويكتب الإعداد داخل المستودع الجديد. اختر ذلك فقط عندما يجب أن يبقى الإعداد بعد عملية النسخ هذه؛ يشرح إعداد Git وقت النسخ مقابل وقت الاستدعاء فقط الفرق.