Python ਪ੍ਰਕਿਰਿਆ ਦਾ ਵਾਤਾਵਰਨ ਬਦਲੇ ਬਿਨਾਂ ਜਾਂ ਗਲੋਬਲ Git ਸੈਟਿੰਗ ਲਿਖੇ ਬਿਨਾਂ ਇੱਕ HTTPS ਕਲੋਨ ਪ੍ਰਾਕਸੀ ਰਾਹੀਂ ਭੇਜਣ ਲਈ, ਵੇਰੀਏਬਲ 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',
    },
)

ਪ੍ਰਾਕਸੀ URL ਸਿੱਧਾ Python ਸਟ੍ਰਿੰਗਾਂ ਵਿੱਚ ਵਰਤੋ। ਜਨਤਕ ਰਿਪੋਜ਼ਟਰੀ ਅਤੇ ਜਨਤਕ ਪ੍ਰਾਕਸੀ ਦੀ ਇਜਾਜ਼ਤ ਵਾਲੇ ਰਾਹ ਲਈ, HTTP ਪ੍ਰਾਕਸੀ ਸੂਚੀ ਸੰਭਾਵੀ ਐਂਡਪੁਆਇੰਟ ਦਿੰਦੀ ਹੈ। ਸ਼ੈੱਲ ਦੇ ਗਰੁੱਪਿੰਗ ਹਵਾਲਾ ਚਿੰਨ੍ਹ ਉਸ URL ਦਾ ਹਿੱਸਾ ਨਹੀਂ ਹਨ। SSH ਰਿਪੋਜ਼ਟਰੀ URL ਦੀ ਥਾਂ SSH ਟ੍ਰਾਂਸਪੋਰਟ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਇਸ ਉਦਾਹਰਨ ਲਈ HTTPS ਰਿਪੋਜ਼ਟਰੀ URL ਲੋੜੀਂਦਾ ਹੈ।

ਜੇ Git ਅਜੇ ਵੀ ਕੋਈ ਹੋਰ ਰਾਹ ਲੈਂਦਾ ਹੈ

env ਮੈਪਿੰਗ Git ਸਬਪ੍ਰੋਸੈਸ ਨੂੰ ਵਿਰਾਸਤ ਵਿੱਚ ਮਿਲਣ ਵਾਲਾ ਵਾਤਾਵਰਨ ਅੱਪਡੇਟ ਕਰਦੀ ਹੈ; ਇਹ ਉਸ ਵਾਤਾਵਰਨ ਨੂੰ ਖਾਲੀ ਨਾਲ ਨਹੀਂ ਬਦਲਦੀ। ਬਾਈਪਾਸ ਲਈ ਵਿਰਾਸਤੀ no_proxy ਮੁੱਲ ਜਾਂਚੋ, ਅਤੇ Git ਦੀ ਆਪਣੀ http.proxy ਸੰਰਚਨਾ ਜਾਂਚੋ, ਜੋ ਸੰਬੰਧਿਤ ਵਾਤਾਵਰਨ ਸੈਟਿੰਗ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰ ਸਕਦੀ ਹੈ।

ਤੁਹਾਨੂੰ ਅਜਿਹੀਆਂ ਉਦਾਹਰਨਾਂ ਵੀ ਮਿਲ ਸਕਦੀਆਂ ਹਨ ਜੋ ਕਲੋਨ ਨੂੰ config ਦਿੰਦੀਆਂ ਹਨ। ਇਹ Git clone ਦਾ --config ਵਿਕਲਪ ਕਾਲ ਕਰਦਾ ਹੈ ਅਤੇ ਨਵੀਂ ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ ਸੰਰਚਨਾ ਲਿਖਦਾ ਹੈ। ਇਹ ਤਾਂ ਹੀ ਚੁਣੋ ਜੇ ਸੈਟਿੰਗ ਨੂੰ ਇਸ ਕਲੋਨ ਪ੍ਰਕਿਰਿਆ ਤੋਂ ਬਾਅਦ ਵੀ ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੈ; ਕਲੋਨ ਵੇਲੇ ਅਤੇ ਸਿਰਫ਼ ਕਾਲ ਵੇਲੇ ਦੀ Git ਸੰਰਚਨਾ ਫ਼ਰਕ ਸਮਝਾਉਂਦੀ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ