חזרה לגירסה קודמת

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

1. מחיקת הקובץ

אם במקרה פספסתם את התרגיל של סוף השיעור הקודם בואו נתחיל יחד. אני מוחק את הקובץ vegan-tacos.md מתוך VS Code אבל הפעם במקום לבטל את השינוי אני מבצע קומיט נוסף. בטקסט של הקומיט אני כותב:

I don't like tacos

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

2. החזרת קובץ מקומיט ישן

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

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

3. החזרת כל הקבצים מקומיט דרך Github Desktop

דרך אחת לגשת לכל הפרויקט בנקודת שמירה ישנה יותר היא מתוך Github Desktop. אני בוחר את הקומיט השני (זה שבו יצרתי את המתכון לטאקוס), לוחץ עליו כפתור ימני ובוחר Checkout Commit. בדיאלוג שהופיע אני מסמן Checkout ועכשיו קרה דבר מוזר - הקומיט השלישי נעלם וחזרתי לנקודה בזמן של הקומיט השני. גם ב VS Code הפרויקט שלי נראה בדיוק כמו שהוא היה בנקודת השמירה של הקומיט השני.

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

סיימתם לראות את הקובץ? בואו נחזיר את הפרויקט למצב הרגיל שלו. שימו לב לפס העליון של Github Desktop שם יש שלוש תיבות: בתיבה השמאלית מופיעה הכותרת Current Repository, בתיבה האמצעית הכותרת Detached Head ובתיבה הימנית הכותרת Publish Repository. אני לוחץ על הכותרת Detached Head ובתיבה שנפתחה בוחר במילה main. עכשיו הפרויקט חזר למצב העדכני ביותר שלו עם שלושת הקומיטים וקובץ המתכון של הטאקוס נעלם מתיקיית הפרויקט.

4. מבט על קובץ אחד מתוך VS Code

גם VS Code מסונכרן עם גיט וכולל ממשק עבודה עם הפרויקט. הפיצ'רים בממשק של VS Code קצת שונים מאלה בממשק של Github Desktop ולכן יעזור לנו להכיר את שני הכלים. אני לוחץ ב VS Code בצד שמאל על האייקון השלישי שנראה כמו שלושה עיגולים מחוברים בשני קווים ושם אני רואה תיבה עם הכותרת Source Control Graph ובה שלושת הקומיטים שלי.

אני לוחץ על הקומיט האמצעי ואני רואה בו את שני קבצי המתכונים המשויכים אליו ומימין לקובץ vegan-tacos.md אני רואה כפתור קטן עם חץ. לחיצה על הכפתור פותחת את הקובץ לצפיה בלי לשנות את הפרויקט או את הקבצים בתיקייה הנוכחית. אתם יכולים לצפות במתכון ולהעתיק ממנו חלקים לקובץ חדש בתיקייה הנוכחית, או להעתיק אותו לגיבוי מחוץ לתיקיית הפרויקט.

5. עכשיו אתם

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

  2. וודאו שאתם מצליחים לראות את המתכון לפני תוספת הטופו ואחריה, וצפו בו בשתי צורות - דרך משיכת כל הפרויקט מאפליקציית Github Desktop (ובסוף חזרה למצב המקורי) ודרך הצגת רק קובץ המתכון באפליקציית VS Code.