لتوجيه نسخة 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 وقت النسخ مقابل وقت الاستدعاء فقط الفرق.

مقالات ذات صلة