ಒಂದು ಯೋಜನೆಗೆ ಬೇರೆ ಸಂಪರ್ಕ ಬೇಕೆಂದಷ್ಟಕ್ಕೆ ಜಾಗತಿಕ 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

ತೆಗೆದಾಗ ಇತರ ಮೂಲಗಳ ಅನ್ವಯಿಸುವ ಸಂರಚನೆ ಮತ್ತೆ ಕೆಲಸಮಾಡುತ್ತದೆ. ಇದು ಯಂತ್ರದ ಎಲ್ಲ ಪ್ರಾಕ್ಸಿ ಸೆಟ್ಟಿಂಗ್ ಅಳಿಸುವ ಆಜ್ಞೆಯಲ್ಲ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು