Til að senda eina HTTPS-klón í gegnum proxy án þess að breyta umhverfi Python-ferlisins eða skrifa almenna Git-stillingu, gefðu breytunum til 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',
    },
)

Notaðu proxy-slóðina beint í Python-strengjunum. Fyrir opinbert hirslu og slóð þar sem opinber proxy eru leyfð, býður HTTP-proxylistinn upp á mögulega endapunkta. Shell-hópstillingar eru ekki hluti af þeirri slóð. SSH-hirsluslóð fylgir SSH-flutningnum í staðinn, svo þetta dæmi krefst HTTPS-hirsluslóðar.

Ef Git fer samt aðra leið

env-vörpunin uppfærir umhverfið sem Git-undirferlið erfir; hún kemur ekki í stað þess umhverfis með tómu. Athugaðu erfd no_proxy-gildi fyrir framhjáhald og athugaðu eigin http.proxy-stillingu Git, sem getur hnekkt samsvarandi umhverfisstillingu.

Þú gætir líka rekist á dæmi sem gefa config til klónarinnar. Það kallar á --config-valkost Git clone og skrifar stillingu í nýju hirsluna. Veldu það aðeins þegar stillingin á að lifa lengur en þetta klónunarferli; Git-stilling við klónun á móti aðeins við kallið útskýrir muninn.

Tengdir greinar