מה ההבדל בין 'git revert' ל-'git rebase' ב-Git?

Mh Hhbdl Byn Git Revert L Git Rebase B Git



לפעמים, מספר טעויות קורות במהלך הפיתוח, כגון הוספת מידע רגיש להתחייבויות שלא במתכוון, ביצוע עבודה לא גמורה או הצגת באגים. ביטול שינויים ושכתוב היסטוריית יומן Git מאפשר למשתמשי Git לתקן את הטעויות הללו ולהבטיח בסיס קוד נקי ונכון.

במדריך זה נדון ב:







הפקודה 'git revert' ב-Git

ה ' git לחזור הפקודה משמשת ליצירת commits חדשות המחזירות את השינויים שנוספו ב-commit קודם. במילים פשוטות, הוא משמש לביטול השינויים הנוספים שקורים לאחר ביצוע פקודת האיפוס. בנוסף, זה לא מסיר את הנתונים הקיימים אלא רק מוסיף commit חדש בסוף שמבטל את השינויים במאגר המקומי.



בואו נבדוק את ההדגמות המעשיות של הפקודה שתוארה לעיל!



שלב 1: הפנה מחדש למאגר מקומי

בתחילה, בצע את ' CD ' הפקודה עם נתיב המאגר הרצוי ונווט אליו:





cd 'C:\Users\nazma\Git\Git\Demo1'

שלב 2: צור והוסף קובץ

לאחר מכן, צור קובץ חדש באמצעות ' הֵד ' הפקודה ועקבו אחריו באמצעות ' git להוסיף ' פקודה:

echo 'הקובץ החדש שלי' >> file8.txt && git הוסף file8.txt



שלב 3: בדוק סטטוס

לאחר מכן, הצג את המצב של ספריית העבודה הנוכחית על ידי ביצוע הפקודה 'git status':

סטטוס git

לפי הפלט הבא, הקובץ החדש עוקב בהצלחה:

שלב 4: שמור שינויים

כדי לשמור את השינויים במעקב, השתמש בפקודה הבאה יחד עם הודעת ה-commit:

git commit -m 'קובץ 8.txt נוסף'

שלב 5: הצג את היסטוריית יומן Git

בצע את הפקודה 'git log' עם ' -שורה אחת ' דגל כדי להציג כל commit בשורה אחת:

git log --oneline

הפלט שסופק להלן מציין שכל ההתחייבויות נרשמו בהצלחה. בחרנו את ' 939d65b ' SHA-hash לשימוש נוסף:

שלב 6: החזר שינויים

לאחר מכן, השתמש ב' git לחזור ' הפקודה עם ה-commit שנבחר בעבר שהייתי צריך לבטל את השינויים:

git revert HEAD

לאחר ביצוע הפקודה לעיל:

  • ' COMMIT_EDITMSG ' הקובץ ייפתח עם עורך ברירת המחדל.
  • הוסף את הודעת ההתחייבות לביטול הפעולה.
  • לחץ על ' CTRL+S ' מקשים כדי לשמור את השינויים ולסגור אותם:

על פי הפלט הנתון להלן, החזרנו בהצלחה את ההתחייבות הספציפית:

שלב 7: אימות

כדי לאמת את השינויים שהוחזרו, הפעל את הפקודה הבאה:

git log --oneline

ניתן לראות שהשינויים הוחזרו בהצלחה ב-commit HASH חדש:

הפקודה 'git rebase' ב-Git

ה ' git rebase הפקודה ' משמשת למיזוג או שילוב של התחייבויות מרובות לרצף ליניארי על ידי שינוי ומעבר על הבסיס החדש. הוא מאפשר למשתמשים לשלב את השינויים האחרונים ולהעבירם מסניף מקומי אחד לאחר. בנוסף, הוא משכתב את ההיסטוריה של ההתחייבויות על גבי סניף אחר המבוסס מחדש.

כעת, בדוק את הנוהל המופיע להלן להבנה טובה יותר!

שלב 1: רשימת סניפים

קודם כל, בצע את ' git branch ' הפקודה לצפייה בכל הסניפים המקומיים:

git branch

מהפלט הנתון, בחרנו את ' תכונה ' סניף לשימוש נוסף:

שלב 2: החלף סניף

כדי לבצע צ'ק-אאוט מענף עובד אחד לאחר, הפעל את הפקודה הבאה:

תכונת התשלום של git

שלב 3: Rebase Branch

להשתמש ב ' git rebase ' הפקודה עם שם הסניף המקומי כדי להוסיף אותו:

git rebase master

שלב 4: הצג היסטוריית יומן

כדי לאמת את השינויים המבוססים מחדש, הפעל את ' הפקודה git log' עם ה-'–oneline ' אפשרות:

git log --oneline

מה ההבדל בין 'git revert' ל-'git rebase' ב-Git?

ההבדל בין ' git לחזור הפקודה וה' git rebase ' הפקודה מופיעה בטבלה הבאה: זהו זה! הסברנו את ' git rebase' ו-'git revert ” פקודות ב-Git.

סיכום

ה ' git לחזור ' ו' git rebase ' הן שתי פקודות שונות המשמשות לניהול ותפעול היסטוריית הגרסאות. ניתן להשתמש בשניהם למטרות שונות, כגון ' git לחזור הפקודה משמשת ליצירת commit חדש שמחזיר את השינויים שנוספו ב-commit. אולם, ה ' git rebase הפקודה ' משמשת למיזוג commits מרובים לרצף ליניארי על ידי הזזה או שינוי של commits. במדריך זה הדגמנו את ההבדל בין ' git revert' ו-'git rebase ” פקודות ב-Git.