Kad vienas HTTPS klonas būtų perduotas per tarpinį serverį nekeičiant Python proceso aplinkos ar nerašant visuotinio Git nustatymo, perduokite kintamuosius funkcijai 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',
    },
)

Naudokite tarpinio serverio URL tiesiogiai Python eilutėse. Viešai saugyklai ir maršrutui, kuriame leidžiami vieši tarpiniai serveriai, HTTP tarpinių serverių sąrašas siūlo kandidatų galinius taškus. Shell grupavimo kabutės nėra to URL dalis. SSH saugyklos URL laikosi SSH transporto, todėl šiam pavyzdžiui reikia HTTPS saugyklos URL.

Jei Git vis tiek pasirenka kitą kelią

env susiejimas atnaujina aplinką, kurią paveldi Git antrinis procesas; jis nepakeičia tos aplinkos tuščia. Patikrinkite paveldėtas no_proxy reikšmes dėl apėjimo ir Git savąją http.proxy konfigūraciją, kuri gali pakeisti atitinkamą aplinkos nustatymą.

Taip pat galite sutikti pavyzdžių, kurie klonui perduoda config. Tai iškviečia Git clone parinktį --config ir įrašo konfigūraciją į naują saugyklą. Rinkitės tai tik tada, kai nustatymas turi išlikti po šio klonavimo proceso; Git konfigūracija klonavimo metu ir tik iškvietimo metu paaiškina skirtumą.

Susiję straipsniai