אין צורך בפרוקסי Git גלובלי רק מפני שפרויקט אחד צריך חיבור אחר. לעותק עבודה קיים יש תצורה מקומית משלו, ולכן אפשר לשמור את השינוי במאגר הזה.

הדוגמאות משתמשות בפקודות העדכניות git config set/get/unset. תיקיית הפרויקט, הכתובת המרוחקת ו-IP התיעוד הם מצייני מקום. לבדיקה של מאגר ציבורי שבה מותר להשתמש בפרוקסי ציבורי, בחרו מועמד מרשימת שרתי פרוקסי HTTP.

git -C project config set --local http.proxy http://203.0.113.10:8080
git -C project ls-remote origin

כתובת הפרוקסי כוללת את סכמת התעבורה שלה. כתובת מרוחקת HTTPS יכולה להשתמש בפרוקסי HTTP רגיל שתומך ב-CONNECT; סכמת HTTPS של הכתובת המרוחקת אינה דורשת לשנות את כתובת הפרוקסי ל-HTTPS.

בדקו מה Git בחר בפועל

אם התוצאה אינה צפויה, בדקו את הערך שנבחר לכתובת המרוחקת האמיתית:

git -C project config get --show-origin \
  --url=https://example.com/team/project.git http.proxy

השתמשו בכתובת HTTPS המרוחקת האמיתית בשאילתה. ל-Git יכולות להיות הגדרות מערכת, משתמש, מאגר, שורת פקודה וכתובת URL מסוימת. בדיקת ערך http.proxy גלובלי בלבד עלולה להחמיץ כלל ממוקד יותר. פלט המקור מסייע לזהות את הקובץ או מקור שורת הפקודה שמאחורי התוצאה.

ההגדרה המקומית חלה על גישת HTTP מהמאגר הזה, ולא רק על ענף מסוים. מאגר עם כמה כתובות מרוחקות HTTP יכול אפוא להשתמש בה ליותר מהכתובת שנבדקה ראשונה. הגדרות HTTP לפי URL זמינות אם דרושה התאמה מצומצמת יותר.

לפני שעותק העבודה קיים

בשכפול הראשוני, בחרו אם ההגדרה העוקפת צריכה להישמר; כדי להגביל אותה להפעלת Git הזאת, השתמשו ב:

git -c http.proxy=http://203.0.113.10:8080 \
  clone https://example.com/team/project.git

הגדרה עוקפת בשורת הפקודה אינה הופכת מעצמה לרשומת תצורה קבועה בעותק החדש. הגדירו ערך מקומי בהמשך אם פעולות fetch עתידיות צריכות להשתמש במסלול הזה.

כתובת מרוחקת SSH היא מקרה אחר

כתובת מרוחקת שמתחילה ב-git@host: או ssh:// משתמשת ב-SSH. הגדרת פרוקסי HTTP של Git אינה הופכת אותה להעברת HTTP. בדקו את התעבורה של הכתובת המרוחקת לפני החלפת IP של פרוקסי תקין רק משום שפעולת SSH עדיין נכשלת.

כשההגדרה העוקפת המקומית אינה רצויה עוד, הסירו רק את המפתח הזה:

git -C project config unset --local http.proxy

הסרתו מאפשרת לתצורה רלוונטית ממקורות אחרים לחול שוב. זו אינה פקודה למחיקת כל הגדרות הפרוקסי במחשב.

מאמרים קשורים