האם אתה חדש בקבוצה וקיבלת הוראות לבדוק סניף רחוק ממאגר הקוד של git? בין אם אתה חלק מעסק מרובה שורות או צוות קטן, השליטה בסניפי git היא מפתח לשותפות קוד חלקה. במדריך זה, נחקור את התהליך לקבלת קוד ממאגר git רחוק, ונתמקד בפקודת 'git checkout remote branch'.
Not a reader? Explore this related video tutorial!
Not seeing the video? Ensure your ad blocker is disabled.
דרישות מוקדמות
- המדריך הזה משתמש בגרסה 2.30 של git scm (ניהול קוד מקור) ב- windows 10, אף על פי שהוא תואם כל מערכת התמיכה ב-git.
שיטות אחרות אפשריות להתקנה ב- windows כוללות chocolatey ו- git4win.
- A remote Git repository from platforms like GitLab, GitHub, or Azure DevOps is required. This article provides sample repositories for a hands-on experience, or you can utilize your own.
הבנה של סניף רחוק
מאגרי git יומנים ומעקבים אחר סדר של קומיטים קשורים בתוך סניף. כברירת מחדל, קומיט נמצא בסניף הפעיל כעת, שבדרך כלל מכונה main
או master
.
A remote branch is a branch located in a remote Git repository. These remote repositories, termed as “remotes,” are the destinations your local Git repository will scout for external commit updates once set up.

git branch
command.גלה סניפים זמינים באמצעות פקודת branch
של Git. הסניף שמסומן בכוכבית (*
) הוא הסניף הפעיל. הסניפים שמפורטים למטה הם בלבד מקומיים מאחר ולא נתפסו עדיין סניפים מרוחקים.
שליטה ב- Git Checkout Remote Branchנניח שיש לך מאגר Git מקומי והצורך לשתף פעולה עם מפתחים אחרים עולה. זהו המקום שבו פקודת Git checkout
נכנסת לתוך התמקצעות, מאפשרת לך למשוך את ההתחייבויות האחרונות מסניף מרוחק במאגר Git מרוחק.
לאחר הגדרת סניף מרוחק, Git ישקול למרוחק במקום סניף בלבד. למטה דוגמה לפקודה git checkout remote <branch>
.
שכפול המאגר Git המרוחק
עכשיו שיש לך מאגר קיים ברשותך, הגיע הזמן להתעמק. עקוב אחר השלבים למטה כדי לשכפל את המאגר המרוחק לתיקייה מקומית במחשב שלך.
1. נוח יותר לשכפל מאגר מרוחק באמצעות כתובת ה-HTTPS במקום SSH כדי להתעלם מבעיות אישור וחומת אש.
- עבור למאגר ב-GitHub.
- לחץ על הלחצן Code ובחר HTTPS.
- לחץ על סמל ה-Clipboard ליד הקישור כדי להעתיק את ה-URL ללוח העריכה שלך.

2. לאחר שהעתקת את כתובת ה-HTTPS URL ללוח הגזירים שלך, פתח ממשק שורת הפקודה באמצעות CLI המועדף עליך, כגון פקודת Windows או Terminal של Windows.
3. נווט לתיקייה שבה ברצונך שהמאגר המרובה ישתרע. למדריך זה, תיקיית git בתיקיית הבית משמשת כפי שמופיע בתמונות. בצע את הפקודה הבאה כדי לשכפל את המאגר, המייצרת תיקייה משנית המכילה את המאגר המרוחק.

4. נווט אל המאגר המשוכפל עם הפקודה, cd git-checkout-remote-branch
.
בצע את הפקודת המצב הבאה כדי לוודא שהמאגר שוכפל בהצלחה. פקודת ה-status
של Git חושפת את ההבדלים בין הענף המקומי והענף המרוחק, ומסייעת בקביעה האם הענף שלך מחובר ומעודכן! הענף המרוחק של Git המוגדר כברירת מחדל נקרא origin
, ומקודם לענף המרוחק main
. git status

עבור רוב תוכנות ה-Git המודרניות,
main
היא הענף הראשי הדיפולטי. עשוי להיות שתתקלו באפליקציה ישנה שמשתמשת בשםmaster
כשם ברירת המחדל לענף שלה, אך שני השמות פועלים באופן זהה. המדריך הזה משתמש בענפים בשמותmain
,RemoteBranch
,SomeBranch
ו־AnotherBranch
.
מהו Remote ב-Git וכיצד לעקוב אחרי ענפים מרוחקים
לשכפול של מאגר מידע יוצר תיבת יחס למקור מרוחק, ידועה כ-Remote. התיבה הזו משמשת לבדיקת השינויים החדשים או להעברת השינויים החדשים למאגר המרוחק.
A Git repository itself may have multiple remotes, but a branch can only reference a single remote.
עקיבה אחרי ענף מרוחק מקימה קשר עם ענף מקומי. הקשר הזה מאפשר לך לדחוף או למשוך שינויים מהענף המרוחק לענף המקומי בקלות. בנוסף, ענף שנמצא במעקב מקבע כמה הוא קדימה או אחורה בשינויים מהענף המרוחק.
מפתח את ה-Remotes של מאגר Git
בתחילה, ודאו שהמאגר שאתם עובדים איתו מכיל Remotes של Git. כדי לעשות זאת, תצפו ב-Remotes של Git במאגר המידע שלכם בעזרת הפקודה git remote
כפי שמוצג למטה. בדוגמה זו, מוצגים שני Remotes, origin
ו־remote2
.

שני מאגרי מידע מרוחקים שענפיהם מושגים נקראים
origin
ו־remote2
, כאשר המאגרים שלכם עשויים להיות שונים.
שדרגו את הקוד להצגת מידע נוסף אודות הרמוטים המוגדרים, הוסיפו את המתג v
כדי להציג את ה-URI המלא של Git.

אתם יכולים לשאול למה ישנם URI נפרדים עבור
fetch
ו־push
. זרמים עבודה של Git יכולים לאפשר לך לבדוק עדכונים למאגר ב-URI שונה מאיפה שאתה שולח שינויים, וזה נקרא זרם תוכניתי.
הצגת סניפים רמוטיים זמינים
הצג את כל הסניפים הזמינים, הן מקומיים והן רמוטיים, במאגר שלך עם פקודת branch
. כדי להציג גם את הסניפים הרמוטיים, הוסף את המתג all
, כפי שמודגם למטה.
בתמונה למטה, מוצג מאגר הרמוט origin שמשמש במדריך זה. עם זאת, התמונה פולטת את כל הסניפים מהרמוט בשם Remote2.

אם סניף ברמוט שלך לא מופיע ברשימת הסניפים, עליך לעדכן את רשימת הסניפים הרמוטיים הזמינים, כפי שמוסבר בקטע הבא.
עדכון של סניפים רמוטיים זמינים
לפעמים, מאגר רמוטי יכול להוסיף או לשנות סניפים. כדי לוודא שאתה עובד עם הסניפים העדכניים ביותר, יש להפעיל את הפקודה git fetch
.
הפקודה fetch
מתחברת למאגר מרוחק, ומשיגה רשימה של כל הענפים הזמינים. ניתן לראות את הענפים שמעקב מתבצע כעת אחרי הרצת הפקודה git fetch
.
להלן, הענף remotes/origin/RemoteBranch
כעת נראה ברשימת הענפים המרוחקים הזמינים לאחר ביצוע הפקודה git fetch
.

git fetch
to update the list of available remote branches.הפקודה fetch
מאמת עדכונים מהמאגר המרוחק שמעקב נעשה בו בענף הנוכחי. כדי להאזין ל-Git לבדוק עדכונים מכל המאגרים במאגר, בלתי תלוי במצב המעקב, ניתן להוסיף את הפרמטר all
.
כדי למשוך את הענפים הזמינים ממאגר מרוחק מסוים, יש לכלול את שם המאגר המרוחק בפקודת git fetch
, כמו שמוצג בדוגמה למטה, שבה משוכים הענפים, main
.

main
from remote2
with the git fetch
command.בכל פעם שאתה בודק עדכונים מרחוק עם
git fetch
,git pull
, אוgit push
, Git משווה בין התחייבויות עם הסניף המרוחק. סניפים מקומיים יכולים לעקוב אחר כל סניף מרוחק של Git. בנוסף, ניתן להגדיר מספר סניפים מקומיים שיעקבו אחר אותו סניף מרוחק.
צפייה במעקב המרוחק של כל סניף
כדי לראות את הסניף המרוחק שמתוך מעקב מקומי לצד הסניף המקומי המתאים, השתמש בפרמטר vv
עם הפקודה git branch
. תוצאות הפקודה מציגות רשימה של סניפים מרוחקים וסניפים בפורמט [<remote>/<branch>]
כמפורט למטה.

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

בדיקת סניפי Git המרוחקים
עם יצירת סניפים חדשים במאגר ה-Git המרוחק, עשוי להיות צורך לבצע פעולת checkout של סניף מרוחק של git. בדיקת סניף מאגר מרוחק מתבצעת דרך הפקודה checkout
.
אם התנאים הבאים מתקיימים, Git יקבע באופן אוטונומי את ה-remote הנכון, יוריד העתק מקומי של ה-gremote ויקבע את העותק המקומי לעקוב אחרי ה-gremote. יש לוודא שהתנאים הבאים אינם מתקיימים דרך תוצאות הפקודה git branch --all
.
- A local branch with the same name does not already exist.
- אין יותר מפעם אחת של remote שמשתמש באותו שם של סניף רחוק.
כדי לבצע את פעולת git checkout לסניף רחוק, יש להשתמש בפקודה git checkout
ולהקליד את שם הסניף הרחוק כפי שמוצג למטה.

git checkout
.אם במאגר המקומי כבר קיים סניף מקומי באותו שם, יש להוסיף את הפרמטר b
כדי לציין שם סניף מקומי חלופי לפני סניף הרחוק שיש לבדוק אותו.

אם במאגר המקומי ישנם מספר רב של remotes עם אותו שם של סניף, יש לציין אילו remote וסניף לעקוב אחרי ה-commitים המקומיים.

גרסאות עתידיות של Git יכולות להעדיף שתשתמש בפקודה
git switch
לשינוי ויצירת סניפים. פקודת Gitswitch
היא רק לסניפים, בעוד שפקודת Git checkout יש לה מספר יכולות. Irshad S. כתב מבוא נחמד על הסבר אם ברצונך לקרוא עוד על כך.
דחיפת סניף מקומי ל-remote
בעת יצירת סניף מקומי שאין לו סניף רחוק תואם למעקב, ניתן להעביר את הסניף לרחוק באמצעות הפקודה git push
. השיטה הכי ישירה להקים סניף חדש ב-remote שלך היא על ידי שימוש בפרמטר u
.
הפרמטר u
, כפי שנעשה שימוש כאן, מחייב את הארגומנטים של שם המאגר ושם הסניף המקורי. על ידי ציון רק של HEAD
כשם הסניף המקורי, Git מבין להשתמש בשם הסניף המקומי הנוכחי כשם ב-remote, במקרה זה, NewBranch
.

HEAD
הוא קיצור שמשמעו סניף הנוכחי. ניתן לדחוף סניפים אחרים ל-remote ולהקים מעקב על ידי שימוש בשמם במקוםHEAD
.
לפעמים, שם הסניף המקומי הנוכחי אינו תואם את שם הסניף הרחוק. לשימוש בשם שונה, יש לציין את שם הסניף הרצוי אחרי המקור, מצורף בנקודה, כמצוין למטה.

שלבים הבאים ומשאבים נוספים ב-Git
בעקבות ביקורתך על נכונות Git, ניהול מרחוק, וביצוע git checkout remote branch, אתה כעת מצויד במקור רב של ידע שיסייע במניעת כעסונים עתידיים. השלבים לבדיקת הסניף מרחוק ב-Git ושיטות המומלצות ישמשו כמקורות לא יקרים העוברים הלאה.
אם תרצה לחקור עומק יותר את כללי הניהול של מאגר Git, המשאבים הבאים מומלצים ביותר:
- A primer on detached heads: Discover scenarios where a detached HEAD is beneficial or inadvertent, and how to handle it.
- Git switch: פקודה שמוקדשת לטיפול בסניפים, להבדיל מ-Git המרובה הפנים
checkout
.
Source:
https://adamtheautomator.com/git-checkout-remote-branch/