הבהרה לגבי עדכון קובץ references

תגיות:

יש משהו שלא הבנתי בחלק האחרון של תרגיל 3 ביום 2. החלק הזה מבקש את הדבר הבא:

“עדכון ה־master בעת פקודת commit
אם התבצע commit וה־commit id שאליו מצביע HEAD הוא אותו commit id שאליו מצביע master (לפי references.txt), יש לעדכן את שניהם ל־commit_id החדש.
אם התבצע checkout שהעביר את ה־HEAD כך שהוא לא מצביע לאותו commit id שאליו מצביע ה־master, ה־commit id שאליו מצביע master לא ישתנה.”

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

"#### חלק חמישי: מה קורה בקומיט הבא?

נניח שנוספו בעזרת הפקודה add עוד כמה קבצים ל־staging_area, והמשתמש מבקש לעשות שוב commit.

כל התיקייה של staging_area תועתק לתיקייה חדשה בתוך images, שעבורה יוגרל commit_id חדש.
הפעם, השורה בה כתוב parent צריכה להצביע על ה־commit_id הקודם (תוכלו לקחת אותו מ־HEAD).
השורות HEAD ו־master ב־references.txt צריכות להתעדכן בהתאם ל־commit_id החדש שנוצר."

אם זה המצב אז התנאי “אם התבצע commit וה־commit id שאליו מצביע HEAD הוא אותו commit id שאליו מצביע master (לפי references.txt)” תמיד יתקיים. ברור שפספסתי משהו בהוראות אבל אני לא מבין מה פספסתי.

לייק 1

מצטרף לשאלה ומוסיף:
לפי הנראה זה שינוי של הפקודה commit נכון?

לפי השאלה, אתה צריך לעדכן את פקודת commit כך שה־master לא תמיד יתעדכן.