בצעו commit חדש כרגיל, והעבירו את HEAD, ואת ה־branch הפעיל ל־commit id החדש. אל תעבירו את BRANCH_NAME ל־commit id החדש.
לא הצלחתי להבין איך מפעילים את הbranch, כותבים בactivated.txt את הערך של
commit id? ואז כתוב בקובץ activated “ערך” של commit id ולא שם של branch ואז זה דורש יישום מחדש של עוד דברים בכל מיני מקומות…
שואל כי זה סותר אצלי בראש את ההנחייה הזאת: (אפילו שכנראה עשיתי סלט ביניהן)
אם עשית checkout לענף מסוים, זה הענף שהופך להיות פעיל.
אם עשית checkout ל־commit id, אין ענף פעיל.
אם מעולם עדיין אף אחד לא עשה checkout, ה־master הוא הענף הדיפולטי ולכן הוא הפעיל.
adva.alkalay
ב-activated.txt כותבים את שם ה-branch שהופעל בעת פעולת ה-checkout, ולא את ה-commit עליו הוא מצביע. אם נעשה checkout על איזשהו commit id, התוכנה צריכה לזהות שלא מדובר בשם של ענף, ועל כן הקובץ activated.txt צריך להתעדכן בהתאם, והתוכן שלו צריך להיות ריק עכשיו.
מאוד - רק להבנה
אם הnotifications היה הענף הפעיל, והייתי עושה merge master
אז Notifications היה מצביע על 666666
adva.alkalay
כן, 666666 זה בעצם ה-commit id החדש שנוצר כתוצאה מהמיזוג.
ombental
מעולה, ממש תודה!
אם את כבר כאן, אשמח גם להבין האם להבנתך:
בתוך ה־staging_area, החליפו את הקבצים ששונו מאז הבסיס המשותף ועד BRANCH_NAME.
הכוונה היא גם להוסיף קבצים שלא היו קיימים? או רק להחליף קבצים שכבר קיימים בstaging_area
adva.alkalay
למיטב הבנתי גם קבצים שלא היו קיימים נחשבים כקבצים ששונו, אז כן.
לייק 1
ombental
עכשיו ניסיתי להבין למה בעצם לא להגיד בתיאור:
“מחקו את כל מה שיש בstaging area ותכניסו את כל מה שיש בBRANCH_NAME לשם”
מה ההבדל?
יעני - איך זה לא פשוט לעשות checkout(branch_name)
efratush
יכול להיות שמאז שהענף נוצר, נוסף או שונה מידע בstaging. במיזוג אנחנו לא רוצים לאבד את המידע. רק להוסיף את מה שחסר או השתנה.
לייק 1
ombental
ואם יש קובץ שהיה קיים בבסיס המשותף אבל נמחק בbranch - אני מוחק מהstaging area, נכון?
efratush
בתוכנית שלנו לא מתייחסים לקבצים שנמחקו.
ככה הבנתי מים.
לייק 1
koby
בחיפוש אחר ‘תיקיה משותפת’, אם אחת התיקיות, כלומר זאת שהוזנה ל merge, או זאת זה HEAD הנוכחי מצביע עליה, נמצאת במורד השרשרת של השניה, האם היא הופכת להיות תיקית ה’בסיס’ לפעולת merge? או שלא מתייחסים להימצאותה, ומחפשים תיקיה אחרת המשותפת לשתי השרשראות?
להמחשה: בדוגמה, התיקיה הראשונה בכל רשימה, היא התיקיה ממנה מתחילה השרשרת. מה התיקיה הרלוונטית לפעולת merge בדוגמה הזאת?
היי קובי,
עדיין לא פתרתי את התרגיל, אבל את הרעיון הזה הבנתי.
תסתכל בדוגמה שים נתן בתרגיל עצמו לגבי “הבסיס המשותף ל־F ול־D הוא D”. זה דומה לדוגמה שאתה נתת שבה כל אחת מהתיקיות שנבדקת יכולה בעצמה להיות בסיס משותף.
מקווה שעזרתי