એક જ Git રિપોઝિટરી માટે પ્રોક્સી વાપરો
રિપોઝિટરીમાં સ્થાનિક HTTP પ્રોક્સી ગોઠવો, રિમોટ URL માટે Git ની પસંદ કરેલી ગોઠવણી તપાસો અને જરૂર ન હોય ત્યારે ઓવરરાઇડ દૂર કરો.
એક પ્રોજેક્ટને જુદું કનેક્શન જોઈએ એટલે ગ્લોબલ Git પ્રોક્સી જરૂરી નથી. હાલના ચેકઆઉટની પોતાની સ્થાનિક ગોઠવણી હોય છે, એટલે ફેરફાર એ જ રિપોઝિટરીમાં રાખી શકો.
ઉદાહરણો વર્તમાન git config set/get/unset કમાન્ડ વાપરે છે. પ્રોજેક્ટ ડિરેક્ટરી, રિમોટ URL અને દસ્તાવેજી IP બદલવાનાં મૂલ્યો છે. જાહેર પ્રોક્સી મંજૂર હોય તેવી જાહેર રિપોઝિટરીની ચકાસણી માટે HTTP પ્રોક્સીની યાદીમાંથી ઉમેદવાર પસંદ કરો.
git -C project config set --local http.proxy http://203.0.113.10:8080
git -C project ls-remote origin
પ્રોક્સી URL માં તેનું પરિવહન સ્કીમ હોય છે. HTTPS રિમોટ પણ CONNECT સમર્થિત સામાન્ય HTTP પ્રોક્સી વાપરી શકે; રિમોટનું HTTPS સ્કીમ પ્રોક્સી URL ને HTTPS માં ફેરવવું જરૂરી કરતું નથી.
Git એ ખરેખર શું પસંદ કર્યું તે તપાસો
પરિણામ અણધાર્યું હોય તો વાસ્તવિક રિમોટ URL માટે પસંદ થયેલું મૂલ્ય તપાસો:
git -C project config get --show-origin \
--url=https://example.com/team/project.git http.proxy
ક્વેરીમાં સાચું HTTPS રિમોટ વાપરો. Git માં સિસ્ટમ, વપરાશકર્તા, રિપોઝિટરી, કમાન્ડ-લાઇન અને URL-વિશિષ્ટ સેટિંગ હોઈ શકે. ફક્ત ગ્લોબલ http.proxy જોવાથી વધુ ચોક્કસ નિયમ ચૂકી શકાય. મૂળનો આઉટપુટ પરિણામ પાછળની ફાઇલ કે કમાન્ડ-લાઇન સ્ત્રોત ઓળખવામાં મદદ કરે છે.
સ્થાનિક સેટિંગ રિપોઝિટરીમાંથી HTTP પ્રવેશ પર લાગુ પડે છે, ફક્ત ચોક્કસ બ્રાન્ચ પર નહીં. ઘણા HTTP રિમોટ હોય તો પહેલી તપાસેલી એન્ટ્રી ઉપરાંત બીજાં પર પણ લાગુ પડી શકે. વધુ સીમિત મેળ માટે URL-વિશિષ્ટ HTTP સેટિંગ છે.
ચેકઆઉટ બનતાં પહેલાં
પહેલા ક્લોનમાં ઓવરરાઇડ ટકવો જોઈએ કે નહીં પસંદ કરો; તેને ફક્ત એ Git કૉલ સુધી રાખવા વાપરો:
git -c http.proxy=http://203.0.113.10:8080 \
clone https://example.com/team/project.git
કમાન્ડ-લાઇન ઓવરરાઇડ આપમેળે નવા ચેકઆઉટમાં કાયમી ગોઠવણી બનતું નથી. પછીના fetch એ જ માર્ગે જવા હોય તો પછી સ્થાનિક મૂલ્ય ગોઠવો.
SSH રિમોટ જુદો કિસ્સો છે
git@host: કે ssh:// થી શરૂ રિમોટ SSH વાપરે છે. Git નું HTTP પ્રોક્સી સેટિંગ તેને HTTP ટ્રાન્સફર બનાવતું નથી. SSH પ્રક્રિયા હજી નિષ્ફળ જાય છે એટલે ચાલતો પ્રોક્સી IP બદલતાં પહેલાં રિમોટનું પરિવહન તપાસો.
સ્થાનિક ઓવરરાઇડ ન જોઈએ તો ફક્ત એ જ કી દૂર કરો:
git -C project config unset --local http.proxy
દૂર કરવાથી બીજા સ્ત્રોતોની લાગુ ગોઠવણી ફરી અસરકારક થાય છે. આ મશીનના બધા પ્રોક્સી સેટિંગ મટાડવાનો કમાન્ડ નથી.