איך Git חושב: צילומי מצב, לא שינויים
בשיעור הקודם הבנו למה צריך ניהול גרסאות. עכשיו, עדיין בלי פקודות, נבנה את התמונה המנטלית הכי חשובה ב-Git: בכל פעם שאת/ה שומר/ת (commit), Git מצלם תמונה מלאה של כל תיקיית הפרויקט — לא רשימה של עריכות או שינויים. רוב המתחילים מדמיינים ש-Git שומר 'מה השתנה' מאז הפעם הקודמת, ומהדמיון הזה נולד הרבה פחד.
תחשוב/תחשבי על Git כמו אלבום תמונות של הפרויקט: בכל commit הוא מצלם את כל התיקייה במצבה המלא. אין כאן 'רשימת שינויים' — יש סדרה של צילומים שלמים שאפשר לחזור לכל אחד מהם.
- commit (שמירה)
- פעולת השמירה ב-Git. בכל commit נוצר צילום מצב מלא של כל הקבצים בפרויקט באותו רגע.
- snapshot (צילום מצב)
- תמונה מלאה של כל תיקיית הפרויקט ברגע מסוים — כל הקבצים, לא רק מה שהשתנה. זה מה ש-Git שומר בכל commit.
- diff (הבדל)
- התצוגה של מה השתנה בין שתי גרסאות. Git יודע להראות לך diff לפי בקשה, אבל הוא מחשב אותו מתוך שני צילומים — לא שומר אותו.
- תיקיית עבודה (working directory)
- התיקייה שבה הקבצים שלך נמצאים בפועל ואת/ה עורך/ת אותם. כש-Git עושה commit, הוא מצלם את מצב התיקייה הזו.