Skip to content

git pull, git fetch

שאלה: מה ההבדל בין 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.


כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *