برای ارسال یک کلون 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 در زمان کلون در برابر فقط در زمان فراخوانی تفاوت را توضیح می‌دهد.

مقالات مرتبط