Menu
Coddy logo textTech

Git Undo Last Commit: ביטול הקומיט האחרון

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

כדי לבטל את הקומיט האחרון, החליטו מה יקרה לשינויים שלו. השאירו אותם מוכנים עם git reset --soft HEAD~1, השאירו אותם לא מוכנים עם git reset HEAD~1 פשוט, או זרקו אותם עם git reset --hard HEAD~1. אם הקומיט שגוי רק במעט, git commit --amend מתקן אותו במקום. אם הוא כבר נדחף, השתמשו ב-git revert במקום לשכתב היסטוריה. כדי לבטל קומיט ישן יותר או כמה בבת אחת, ראו את העמוד על git undo commit.

נסו את הפקודות האלה בעורך הטרמינל אונליין: shell אמיתי בדפדפן, בלי להתקין כלום.

ביטול הקומיט האחרון מחזיר את HEAD צעד אחד אחורה; המצב שנבחר קובע אם השינויים יישארו באזור ההכנה, מחוצה לו או יימחקו.

בחרו מה לעשות עם השינויים

מטרהפקודה
ביטול הקומיט, השינויים נשארים מוכניםgit reset --soft HEAD~1
ביטול הקומיט, השינויים נשארים לא מוכניםgit reset HEAD~1
ביטול הקומיט ומחיקת השינוייםgit reset --hard HEAD~1
תיקון הקומיט האחרון (הודעה או קבצים)git commit --amend
ביטול קומיט שכבר דחפתםgit revert HEAD

דוגמה מלאה

ביטול הקומיט האחרון ויצירתו מחדש עם הודעה טובה יותר.

שלבפקודהתוצאה
1git reset --soft HEAD~1הקומיט הוסר, השינויים נשארים מוכנים
2git commit -m "clearer message"קומיט מחדש של אותם שינויים

שאלות נפוצות על ביטול הקומיט האחרון ב-Git

איך מבטלים את הקומיט האחרון אבל שומרים את השינויים?
הריצו git reset --soft HEAD~1. זה מסיר את הקומיט האחרון אבל משאיר את השינויים שלו מוכנים, כך שאפשר ליצור מהם קומיט מחדש מיד. כדי שהשינויים יישארו בעץ העבודה כלא מוכנים, השתמשו ב-git reset HEAD~1 (מצב ברירת המחדל).
איך מבטלים את הקומיט האחרון ומוחקים את השינויים?
הריצו git reset --hard HEAD~1. זה מסיר את הקומיט ומוחק את השינויים שלו מעץ העבודה. הפעולה הרסנית: אם ייתכן שתצטרכו את העבודה, השתמשו ב---soft במקום, או שחזרו מאוחר יותר עם git reflog.
מה אם צריך לתקן רק את הודעת הקומיט?
השתמשו ב-git commit --amend. הוא פותח מחדש את הקומיט האחרון כדי שתוכלו לערוך את ההודעה שלו (ולהכין שוב קבצים אם צריך) בלי ליצור קומיט נפרד. הימנעו מ-amend לקומיט שכבר דחפתם, כי זה משכתב היסטוריה.
איך מבטלים את הקומיט האחרון אחרי שדחפתי אותו?
השתמשו ב-git revert HEAD. revert יוצר קומיט חדש שהופך את האחרון ומשאיר את ההיסטוריה שלמה: הבחירה הבטוחה לענפים משותפים. reset לקומיט שנדחף מאלץ את כל השאר ליישב ענף שנכתב מחדש.
אפשר לתרגל את זה אונליין?
כן. פתחו את עורך הטרמינל אונליין כדי להריץ את הפקודות האלה ב-shell אמיתי בדפדפן, בלי להתקין כלום. גם קורס ה-Git האינטראקטיבי והחינמי של Coddy מלמד ביטול שינויים צעד אחר צעד.
איור של שפות התכנות ב-Coddy

ללמוד Git עם Coddy

להתחיל