Git: שנה הודעת Commit קיימת

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

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

תקן התחייבות אחרונה, עדיין לא נדחף למרחוק

זהו המקרה הפשוט ביותר מכיוון שאין צורך לשנות מאגר מרוחק, אתה רק צריך לשנות את שלך. במקרה זה, אתה יכול להשתמש בפקודה הבאה:

$ git commit --amend

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

באופן אישי, אני מעדיף לעשות את רוב הדברים בשורת הפקודה, מה שאתה יכול לעשות על ידי הוספת ארגומנט והודעה לפקודה למעלה:

$ git commit --amend -m "Added a new file"

פעולה זו לא תפתח את העורך, אלא רק ישנה את הודעת ה-commit באופן מיידי.

תקן התחייבות אחרונה, נדחף למרחוק

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

הצעד הראשון הוא לתקן את ההתחייבות האחרונה, בדיוק כמו שעשינו בסעיף הקודם:

$ git commit --amend -m "Added a new file"

לאחר מכן, עליך לדחוף את השינויים הללו למאגר המרוחק. עם זאת, יש לעשות זאת באמצעות --force דגל.

$ git push <remote> <branch> --force

עלינו לעשות זאת בדרך זו כדי להחליף את המאגר המרוחק עם המדינה המקומית שלנו.

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

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

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

השתמש ב-Interactive Rebase

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

כדי להתחיל את הבסיס מחדש, אתה יכול להשתמש בפקודה הבאה:

$ git rebase -i HEAD~n

כאן, n הוא מספר ה-commits שברצונך לבדוק ולערוך. לאחר מכן תראה רשימה של התחייבויות, בדומה לזה:

$ $ git rebase -i HEAD~4
pick 788ebf0 Oops, I forgot to add a new file
pick ced1329 Fixed a super critical bug
pick 5e9cdc5 Added a new file



















כפי שאתה יכול לראות, כל ה-N המחויבויות האחרונות רשומות, ואתה יכול לשנות את ההודעות שלהם לפי הצורך.

בול זמן:

עוד מ Stackabuse