Git ಉಪಮಾಡ್ಯೂಲ್ಗಳಿಗೆ ಪ್ರಾಕ್ಸಿ ಮಾರ್ಗ
ಮುಖ್ಯ Git ರಿಪೊಸಿಟರಿ ಪ್ರಾಕ್ಸಿಯಿಂದ ಕೆಲಸಮಾಡಿ ಉಪಮಾಡ್ಯೂಲ್ಗಳು ಕೆಲಸಮಾಡದಾಗ URL, ಸಾರಿಗೆ ವಿಧಾನ ಮತ್ತು ರಿಪೊಸಿಟರಿ ಸಂರಚನೆಯನ್ನು ಪರಿಶೀಲಿಸಿ.
ಮುಖ್ಯ ರಿಪೊಸಿಟರಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಕ್ಲೋನ್ ಮಾಡಿದರೂ ಉಪಮಾಡ್ಯೂಲ್ಗಳು ಪರೀಕ್ಷೆಯಾಗುವುದಿಲ್ಲ. ಉಪಮಾಡ್ಯೂಲ್ ಮತ್ತೊಂದು Git ರಿಪೊಸಿಟರಿ; ಅದು ಬೇರೆ ಹೋಸ್ಟ್ ಮತ್ತು ಬೇರೆ ಸಾರಿಗೆಯಲ್ಲಿ ಇರಬಹುದು.
ಮೊದಲು ಘೋಷಿತ URLಗಳನ್ನು ಓದಿ:
git -C project config --file .gitmodules --get-regexp '^submodule\..*\.url$'
git -C project submodule status --recursive
HTTPS ಮೂಲಕ ಪಡೆದ ಪೋಷಕ ರಿಪೊಸಿಟರಿಯಲ್ಲಿ git@host: ಬಳಸುವ ಉಪಮಾಡ್ಯೂಲ್ ಇರಬಹುದು. HTTP ಪ್ರಾಕ್ಸಿ ಸೆಟ್ಟಿಂಗ್ ಆ SSH ಸಂಪರ್ಕವನ್ನು ಸಂರಚಿಸುವುದಿಲ್ಲ. ಸಂಬಂಧಿತ URLಗಳನ್ನು ಸೂಪರ್ಪ್ರಾಜೆಕ್ಟ್ನ ಸರಿಯಾದ remote ಆಧರಿಸಿ ಪರಿಹರಿಸಿ, ಪ್ರಾಜೆಕ್ಟ್ ಹೆಸರಿನಿಂದ ಊಹಿಸಿದ ವೆಬ್ ವಿಳಾಸದಿಂದಲ್ಲ.
ರಿಪೊಸಿಟರಿ-ಸ್ಥಳೀಯ ಸೆಟ್ಟಿಂಗ್ಗಳ ವ್ಯಾಪ್ತಿ ಇದೆ
ಸ್ಥಳೀಯ http.proxy ನಮೂದು ಅದನ್ನು ಹೊಂದಿರುವ ಸಂರಚನಾ ಕಡತದ ರಿಪೊಸಿಟರಿಗೆ ಸೇರಿದೆ. ಪೋಷಕವನ್ನು ಮಾತ್ರ ಪರಿಶೀಲಿಸಿದರೆ ಪ್ರಾರಂಭಿಸಿದ ಮಕ್ಕಳಲ್ಲಿರುವ ಎಲ್ಲಾ ಪರಿಣಾಮಕಾರಿ ಸೆಟ್ಟಿಂಗ್ ಗೊತ್ತಾಗುವುದಿಲ್ಲ.
ಪುನರಾವರ್ತಿತ ಅಪ್ಡೇಟ್ನಲ್ಲಿ ತಾತ್ಕಾಲಿಕ HTTPS ಪ್ರಾಕ್ಸಿಗಾಗಿ ಆ ಕರೆಯಲ್ಲೇ Git ಕಮಾಂಡ್-ಲೈನ್ ಸಂರಚನೆ ನೀಡಿ:
git -C project -c http.proxy=http://203.0.113.10:8080 \
submodule update --init --recursive
ಉದಾಹರಣೆ endpoint ಬದಲಿಸಿ. ಸಾರ್ವಜನಿಕ HTTPS ಉಪಮಾಡ್ಯೂಲ್ಗಳಿಗೆ HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿಯಿಂದ ವಿಳಾಸ ಆಯ್ಕೆಮಾಡಿ. ಇದು SSH URLಗಳನ್ನು HTTPSಗೆ ಬದಲಿಸುವುದಿಲ್ಲ; ಮಾರ್ಗ ವಿಚಿತ್ರವಾಗಿದ್ದರೆ URL-ನಿರ್ದಿಷ್ಟ ಸಂರಚನೆಯನ್ನೂ ನೋಡಿ.
ದಾಖಲಾದ URL ಬದಲಾದಾಗ
ಆರಂಭದಲ್ಲಿ Git ಉಪಮಾಡ್ಯೂಲ್ ಸಂರಚನೆಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ದಾಖಲಿಸುತ್ತದೆ. ಪ್ರಾಕ್ಸಿಯನ್ನು ದೋಷಿಯೆಂದು ಹೇಳುವ ಮೊದಲು ಈಗಿನ ಘೋಷಣೆಯನ್ನು ಸ್ಥಳೀಯ ಮೌಲ್ಯದೊಂದಿಗೆ ಹೋಲಿಸಿ. sync ಯೋಜನೆಯ ಘೋಷಣೆಯಿಂದ URLಗಳನ್ನು ನವೀಕರಿಸುತ್ತದೆ; ಅದು ಸ್ವತಃ ನೆಟ್ವರ್ಕ್ ಪ್ರಾಕ್ಸಿ ಸೆಟ್ಟಿಂಗ್ ಅಲ್ಲ.
ನೆಸ್ಟೆಡ್ ದೋಷದಲ್ಲಿ ನಿಖರ ಮಾರ್ಗ ಮತ್ತು remote ದಾಖಲಿಸಿ. ಪುನರಾವರ್ತಿತ ಕಾರ್ಯ ಹಲವು ಹೋಸ್ಟ್ಗಳನ್ನು ಸಂಪರ್ಕಿಸಬಹುದು; ಒಳಗಿನ ಹೋಸ್ಟ್ಗೆ ನೇರ ವಿನಾಯಿತಿ, ಸಾರ್ವಜನಿಕ ಹೋಸ್ಟ್ಗೆ ಪ್ರಾಕ್ಸಿ ಬೇಕಾಗಬಹುದು.
ಸಾರಿಗೆ ದೋಷಗಳನ್ನು ರಿಪೊಸಿಟರಿ ದೋಷಗಳಿಂದ ಬೇರ್ಪಡಿಸಿ. ಕಾಣದ commit, ನಿರಾಕರಿಸಿದ ಪ್ರವೇಶ ಮತ್ತು ವಿಫಲ ಪ್ರಾಕ್ಸಿ ಸಂಪರ್ಕವು ‘submodule update failed’ ಫಲಿತಾಂಶದ ಬೇರೆ ಕಾರಣಗಳು.