שאלה: מה ההבדל בין git fetch
ל-git pull
?
A. git fetch
מעדכן את הקוד המקומי ומבצע מיזוג אוטומטי, בעוד git pull
רק מביא את השינויים ממרוחק.
B. git fetch
מבצע שיחזור גיבוי, ו-git pull
משחזר קבצים שנמחקו.
C. git fetch
מביא את העדכונים ממרוחק מבלי לשנות את הסניף המקומי, ו-git pull
גם מביא את העדכונים וגם מבצע מיזוג (merge) אוטומטי לסניף הנוכחי.
D. אין הבדל – שניהם פקודות נרדפות עם שמות שונים.
תשובה 👇
✅ תשובה נכונה: C
📘 הסבר:
git fetch
:
מביא את השינויים מהמרוחק (remote), אך לא משנה כלום בסניף המקומי שלך. אתה יכול לראות את ההבדלים ולבחור מתי ואיך לשלב אותם.git pull
:
מביא את אותם שינויים וגם מבצע מיזוג אוטומטי לסניף הנוכחי. למעשה,git pull
שווה ל-git fetch
ואזgit merge
.
💡 טיפ חשוב:
אם אתה עובד בצוות, העדף לעיתים git fetch
כדי לבחון שינויים לפני מיזוג – וכך תוכל:
- לבדוק קונפליקטים מראש
- לראות מה השתנה
- למזג באופן ידני אם צריך
🛠️ פרקטיקה מומלצת:
- השתמש ב-
git fetch
כשאתה רוצה לבדוק את מצב הענף המרכזי (main/master) מבלי להשפיע על הקוד שלך:
git fetch origin
git diff origin/main
- השתמש ב-
git pull --rebase
כדי לשמור על היסטוריה נקייה ולמנוע מיזוגים מיותרים (merge commits):
git pull --rebase
📌 שים לב: שימוש ב-rebase מתאים במיוחד כשאתה עובד לבד על סניף וצריך לעדכן אותו מ-main.