Git Set Upstream: הגדרת ענף upstream
עודכן לאחרונה
ה-upstream של ענף הוא הענף המרוחק שהוא עוקב אחריו. אחרי שהוא מוגדר, git push ו-git pull פשוטים יודעים לאן לשלוח קומיטים ומאיפה להוריד אותם, בלי שתצטרכו לציין בכל פעם את המאגר המרוחק ואת הענף. בדרך כלל מגדירים אותו בדחיפה הראשונה עם -u, או מאוחר יותר עם git branch --set-upstream-to.
נסו את הפקודות האלה בעורך הטרמינל אונליין: shell אמיתי בדפדפן, בלי להתקין כלום.
תחביר
| פקודה | מה היא עושה |
|---|---|
git push -u origin feature | דחיפה והגדרת upstream בצעד אחד |
git branch --set-upstream-to=origin/feature | הגדרת upstream לענף הנוכחי |
git branch -u origin/feature feature | הגדרת upstream לענף לפי שמו |
git branch -vv | הצגת כל ענף וה-upstream שלו |
מקרים נפוצים
| מטרה | פקודה |
|---|---|
| הגדרת upstream בדחיפה הראשונה | git push -u origin feature |
| הגדרת upstream לענף קיים | git branch --set-upstream-to=origin/feature |
| בדיקה איזה upstream מוגדר | git branch -vv |
שאלות נפוצות על הגדרת upstream ב-Git
מה עושה הגדרת ענף ה-upstream?
היא מקשרת את הענף המקומי לענף מרוחק מסוים. אחרי זה,
git push ו-git pull בענף הזה יודעים באיזה מאגר מרוחק ובאיזה ענף להשתמש, כך שאפשר להריץ אותם בלי ארגומנטים. Git גם מציג ב-git status בכמה אתם לפני או אחרי ה-upstream.איך מגדירים את ענף ה-upstream?
הדרך הקלה ביותר היא בדחיפה הראשונה:
git push -u origin <branch> דוחף ומגדיר את ה-upstream בבת אחת. לענף שכבר קיים במאגר המרוחק, השתמשו ב-git branch --set-upstream-to=origin/<branch> כשאתם נמצאים בענף הזה.איך רואים את ה-upstream של ענף?
הריצו
git branch -vv. הפקודה מציגה את הענפים המקומיים, ולצד כל אחד את ה-upstream שלו (כמו [origin/feature]) ואם הוא לפני או אחרי. ענפים בלי upstream לא מציגים כלום בסוגריים.למה git push מבקש ממני להגדיר upstream?
כי לענף הנוכחי לא מוגדר upstream, ולכן Git לא יודע לאן לדחוף. הריצו
git push -u origin <branch> פעם אחת כדי להגדיר אותו; בדחיפות הבאות מספיק git push.אפשר לתרגל את זה אונליין?
כן. פתחו את עורך הטרמינל אונליין כדי להריץ את הפקודות האלה ב-shell אמיתי בדפדפן, בלי להתקין כלום. גם קורס ה-Git האינטראקטיבי והחינמי של Coddy מלמד עבודה עם מאגרים מרוחקים צעד אחר צעד.