I anfon un clon HTTPS trwy brocsi heb newid amgylchedd y broses Python nac ysgrifennu gosodiad Git byd-eang, trosglwyddwch y newidynnau i 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',
    },
)

Defnyddiwch URL y procsi'n uniongyrchol yn llinynnau Python. Ar gyfer ystorfa gyhoeddus a llwybr lle caniateir procsïau cyhoeddus, mae'r rhestr procsïau HTTP yn darparu penannau ymgeisiol. Nid yw dyfynbrisiau grwpio'r plisgyn yn rhan o'r URL hwnnw. Mae URL ystorfa SSH yn dilyn trafnidiaeth SSH yn lle hynny, felly mae'r enghraifft hon angen URL ystorfa HTTPS.

Os yw Git yn dal i fynd ar lwybr arall

Mae mapiad env yn diweddaru'r amgylchedd a etifeddwyd gan isbroses Git; nid yw'n disodli'r amgylchedd hwnnw ag un gwag. Gwiriwch werthoedd no_proxy a etifeddwyd am osgoi, a gwiriwch ffurfweddiad http.proxy Git ei hun, a all ddiystyru'r gosodiad amgylchedd cyfatebol.

Efallai y gwelwch enghreifftiau sy'n trosglwyddo config i'r clon. Mae hynny'n galw opsiwn --config Git clone ac yn ysgrifennu ffurfweddiad i'r ystorfa newydd. Dewiswch hynny dim ond pan ddylai'r gosodiad oroesi'r broses glonio hon; mae ffurfweddiad Git ar adeg clonio yn erbyn dim ond ar adeg galw yn egluro'r gwahaniaeth.

Erthyglau cysylltiedig