Git Pull
עודכן לאחרונה
git pull מעדכן את הענף הנוכחי עם הקומיטים האחרונים מהענף המרוחק שלו. מאחורי הקלעים הוא מריץ git fetch כדי להוריד את השינויים, ואז git merge כדי לשלב אותם, כלומר git pull = git fetch + git merge. הוסיפו --rebase כדי להריץ מחדש את הקומיטים המקומיים שלכם מעל השינויים, במקום ליצור קומיט מיזוג.
נסו את הפקודות האלה בעורך הטרמינל אונליין: shell אמיתי בדפדפן, בלי להתקין כלום.
תחביר
| פקודה | מה היא עושה |
|---|---|
git pull | הורדה ומיזוג מהענף המרוחק של הענף הנוכחי |
git pull origin main | משיכת ענף מסוים ממאגר מרוחק |
git pull --rebase | הורדה, ואז rebase של הקומיטים שלכם מעל |
git pull --ff-only | משיכה רק אם אפשר fast-forward (בלי מיזוג) |
git pull --no-rebase | כפיית מיזוג גם אם rebase הוא ברירת המחדל |
מקרים נפוצים
| מטרה | פקודה |
|---|---|
| לקבל את העדכונים האחרונים בענף שלכם | git pull |
| לשמור על היסטוריה ליניארית | git pull --rebase |
| ביטול pull שנתקל בקונפליקטים | git merge --abort |
| לזרוק קומיטים מקומיים ולהתאים לענף המרוחק | git fetch ואז git reset --hard origin/main |
שאלות נפוצות על git pull
מה git pull עושה בפועל?
הוא מוריד מהמאגר המרוחק את הקומיטים האחרונים של הענף הנוכחי ומשלב אותם בענף המקומי. זה קיצור של שתי פקודות:
git fetch (הורדה) ואחריה git merge (שילוב). אם מגדירים זאת, שלב המיזוג הופך ל-rebase.מה ההבדל בין git pull לבין git fetch?
git fetch רק מוריד שינויים מרוחקים ומעדכן את ענפי המעקב המרוחקים: הוא לא נוגע בענף העבודה שלכם. git pull מבצע את ה-fetch הזה ואז ממזג את השינויים לענף הנוכחי. השתמשו ב-fetch כדי לבדוק קודם את השינויים הנכנסים; השתמשו ב-pull כדי להוריד ולשלב אותם בצעד אחד. ראו את הפירוט המלא של git fetch vs pull כדי לדעת מתי לבחור בכל אחד.מה זה git pull --rebase ומתי כדאי להשתמש בו?
git pull --rebase מוריד קומיטים מרוחקים ואז מריץ מחדש את הקומיטים המקומיים שלכם מעליהם, במקום ליצור קומיט מיזוג. כך ההיסטוריה נשארת ליניארית, מה שצוותים רבים מעדיפים. השתמשו בו כשיש לכם קומיטים מקומיים שעוד לא נדחפו ואתם רוצים להימנע מקומיט מיזוג בכל pull.איך פותרים קונפליקטים אחרי git pull?
pull יכול לגרום לקונפליקטים במיזוג כששינויים מקומיים ומרוחקים חופפים. פתחו את הקבצים שיש בהם קונפליקט, פתרו את הקטעים המסומנים, ואז הריצו
git add ו-git commit (במיזוג) או git rebase --continue (ב-pull עם rebase). אם מעדיפים לסגת, הריצו git merge --abort או git rebase --abort.אפשר לתרגל את זה אונליין?
כן. פתחו את עורך הטרמינל אונליין כדי להריץ
git pull ב-shell אמיתי בדפדפן, בלי להתקין כלום. גם קורס ה-Git האינטראקטיבי והחינמי של Coddy מלמד עבודה עם מאגרים מרוחקים צעד אחר צעד.