Menu
Coddy logo textTech

Git Fetch vs Pull

עודכן לאחרונה

git fetch מוריד את הקומיטים האחרונים מהמאגר המרוחק אבל משאיר את ענף העבודה שלכם בדיוק כפי שהיה. git pull מבצע את אותה הורדה ואז ממזג מיד את הקומיטים האלה לענף הנוכחי. בקיצור: git pull = git fetch + git merge.

השתמשו ב-fetch כשרוצים להסתכל לפני שקופצים; ב-pull כשמוכנים לשלב. נסו את שתיהן בעורך הטרמינל אונליין: shell אמיתי בדפדפן.

git fetch מוריד קומיטים חדשים ומעדכן רק את origin/main, והענף שלכם מחכה; git pull ממזג אותם מיד.

זו לצד זו

התנהגותgit fetchgit pull
מוריד קומיטים מרוחקיםכןכן
משנה את הענף הנוכחילאכן
יכול לגרום לקונפליקטים במיזוגלאכן
שקול להורדה בלבדfetch + merge

תחביר

פקודהמה היא עושה
git fetchהורדת כל השינויים המרוחקים, בלי מיזוג
git fetch origin mainהורדת ענף אחד בלבד ממאגר מרוחק
git pullהורדה ומיזוג לענף הנוכחי
git pull --rebaseהורדה, ואז rebase של הקומיטים שלכם מעל
git log HEAD..origin/mainאחרי fetch: לראות מה עומד להתמזג

שאלות נפוצות על git fetch מול pull

מה ההבדל בין git fetch לבין git pull?
git fetch מוריד קומיטים חדשים ומעדכן את ענפי המעקב המרוחקים (כמו origin/main), אבל לא משנה את ענף העבודה שלכם. git pull מבצע את אותו fetch ואז ממזג את הקומיטים החדשים לענף הנוכחי. כלומר pull משנה את הקבצים שלכם; fetch רק מעדכן את הידע שלכם על המאגר המרוחק.
האם git pull הוא פשוט fetch ועוד merge?
כן. git pull הוא קיצור של git fetch ואחריו git merge של הענף שהורד לתוך הענף הנוכחי. עם git pull --rebase, השלב השני הוא rebase במקום merge, מה ששומר על היסטוריה ליניארית.
מתי כדאי להשתמש ב-fetch במקום ב-pull?
השתמשו ב-git fetch כשרוצים לבדוק את השינויים הנכנסים לפני שמשלבים אותם: למשל git fetch ואז git log HEAD..origin/main כדי לראות בדיוק מה חדש. השתמשו ב-git pull כשאתם כבר סומכים על השינויים המרוחקים ופשוט רוצים למזג אותם לענף שלכם.
האם git fetch יכול לגרום לקונפליקטים?
לא. fetch רק מעדכן ענפי מעקב מרוחקים; הוא אף פעם לא נוגע בענף העבודה או בקבצים שלכם, ולכן לא יכול ליצור קונפליקטים במיזוג. קונפליקטים נוצרים רק בשלב המיזוג, ש-pull מבצע אוטומטית ו-fetch לא.
אפשר לתרגל את זה אונליין?
כן. פתחו את עורך הטרמינל אונליין כדי להריץ git fetch ו-git pull ב-shell אמיתי בדפדפן, בלי להתקין כלום. גם קורס ה-Git האינטראקטיבי והחינמי של Coddy מלמד עבודה עם מאגרים מרוחקים צעד אחר צעד.
איור של שפות התכנות ב-Coddy

ללמוד Git עם Coddy

להתחיל