ענפים וניתוחים

עריכת כל קומיט

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

עריכת קומיט היסטורי

מה זה עושה

בחרו כל קומיט שהוא אב קדמון של HEAD — היסטוריה ליניארית או לא. החלונית מציגה את הקבצים ואת ההודעה שלו; ערכו כל אחד מהם. משם קורים שני דברים:

  1. תצוגה מקדימה של השרשרת מריצה מחדש כל קומיט שמעל הקומיט שנערך בזיכרון (שרשרת של cherry-pick באמצעות merge-tree — בלי צ׳קאאוט, בלי עץ עבודה, בלי הפניות). כל צאצא מוצג ירוק או אדום, כך שאתם יודעים לפני שמשהו זז אם העריכה מתגלגלת בנקיון או מתנגשת בשינוי מאוחר יותר.
  2. כתיבת ההיסטוריה מחדש עושה זאת באמת: אותה שרשרת נבנית בפקודות plumbing, ואז הענף עובר עם reset --keep — השינויים שלא נכנסו לקומיט עוברים איתכם, או שהאיפוס מבוטל ושום דבר לא קרה. תמונת מצב שומרת נלקחת קודם, וביטול משחזר את השרשרת הישנה.

המחבר והתאריכים של כל קומיט שהורץ מחדש נשמרים; רק ה־hash־ים משתנים — זו בדיוק המשמעות של כתיבת היסטוריה מחדש.

מיזוגים בטווח

עריכת קומיט מתחת לשני מיזוגים — השרשרת מריצה אותם מחדש

מיזוג בין הקומיט ל־HEAD כבר לא משבית את העריכה. השרשרת מריצה מחדש מיזוג על ידי החלה מחדש של התוצאה שנרשמה שלו — העץ שהמיזוג באמת הכניס בקומיט, כולל פתרונות ההתנגשויות — על ההורה שנכתב מחדש, כך שפתרונות שמישהו עשה ביד שורדים את הכתיבה מחדש מילה במילה. בלי rerere, בלי מיזוג מחדש, בלי עץ עבודה: אותן פקודות plumbing בזיכרון כמו שאר השרשרת, ושני מצביעי ההורים נשמרים. ענף צדדי שגם הוא מכיל את הקומיט שנערך נכתב מחדש ומופנה מחדש; ענף שלא מכיל אותו שומר על זהותו ללא מגע. הבאנר בחלונית אומר כמה מיזוגים הטווח נושא, וצעדי מיזוג מציגים אייקון מיזוג בתצוגה המקדימה.

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

כשהשרשרת מתנגשת

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

מגבלות

  • הקומיט חייב להיות אב קדמון של HEAD. לקומיט על ענף צדדי שטרם מוזג אין נתיב אל הענף הנוכחי שלכם שלאורכו אפשר להריץ אותו מחדש.
  • קבצים בינאריים וקבצים מעל ‎2 MB מוצגים אך אינם ניתנים לעריכה.
  • קומיט שכבר נמצא על שרת מרוחק אפשר לערוך, אבל הדחיפה הבאה שלכם תצטרך להיות דחיפה כפויה — החלונית מזהירה לפני שאתם מתחייבים לזה.
  • קבצים שנמחקו בקומיט אי אפשר לערוך (אין תוכן לערוך).

ראו גם: ריבייס אינטראקטיבי · שחזור וה־reflog · ספיגה

שיפור התרגום הזה ב־GitHub