ಒಂದು 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
ತೆಗೆದಾಗ ಇತರ ಮೂಲಗಳ ಅನ್ವಯಿಸುವ ಸಂರಚನೆ ಮತ್ತೆ ಕೆಲಸಮಾಡುತ್ತದೆ. ಇದು ಯಂತ್ರದ ಎಲ್ಲ ಪ್ರಾಕ್ಸಿ ಸೆಟ್ಟಿಂಗ್ ಅಳಿಸುವ ಆಜ್ಞೆಯಲ್ಲ.