Skip to content

שאלות לראיון עבודה. GIT

git rebase, git merge

שאלה: מה עושה הפקודה git rebase ובמה היא שונה מ-git merge?

  1. git rebase מוחק את ההיסטוריה של הסניף ומחליף אותה בהיסטוריה חדשה, בעוד git merge משלב שינויים רק בקבצים קיימים.
  2. git rebase מיזוג לאחור (reverse merge), בעוד git merge מיזוג רגיל.
  3. git rebase משכתב את ההיסטוריה של הסניף על בסיס סניף אחר ומונע מיזוגים מרובים, בעוד git merge יוצר commit מיזוג חדש.
  4. git rebase מיועד רק לשימוש עם GitHub ו-git merge עובד רק עם Bitbucket.

תשובה:

👇

תשובה נכונה: C

📘 הסבר:

  • git merge:
    משלב את ההיסטוריה של שני סניפים ויוצר commit חדש של מיזוג. ההיסטוריה נשמרת בצורה "ענפית".
  • git rebase:
    מעביר (משכתב) את הקומיטים של הסניף שלך כך שהם יבואו "מעל" סניף אחר. זה מונע commits מיזוגיים ומייצר היסטוריה לינארית, כאילו עבדת תמיד על בסיס מעודכן.

📊 השוואה מהירה:

תכונהMergeRebase
צורת ההיסטוריהמסתעפתלינארית
commit מיזוגכן (merge commit)לא, אלא אם יש קונפליקטים
שכתוב היסטוריהלאכן
מתאים לשימוש פומביכןזהירות – עדיף רק על סניפים מקומיים

💡 טיפ חשוב:

אם כבר שיתפת את הסניף שלך עם אחרים – הימנע מ-rebase עליו, כי זה עלול לשבור היסטוריית עבודה משותפת.
אם אתה עובד על סניף לבד – rebase היא דרך מעולה לשמור על היסטוריה ברורה.


🛠️ פרקטיקה מומלצת:

כאשר אתה עובד על פיצ'ר ורוצה לעדכן אותו עם שינויים מה-main:

git checkout my-feature
git fetch origin
git rebase origin/main

אם יש קונפליקטים, תפתור אותם ואז:

git rebase --continue

אם התחרטת ורוצה לחזור למצב לפני ה-rebase:

git rebase --abort


כתיבת תגובה

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