
Git מאפשר להתעלם מקבצים בשלושה מקומות, לא רק ב-.gitignore
פוסט בבלוג מסביר את שלושת המקומות שבהם Git יכול להתעלם מקבצים: הקובץ .gitignore שנשמר במאגר יחד עם הקוד, הקובץ המקומי .git/info/exclude וקובץ ההתעלמות הגלובלי של המחשב.
רוב מי שעובד עם Git מכיר דרך אחת בלבד להרחיק קבצים מניהול הגרסאות: להוסיף אותם ל־.gitignore. בפוסט בבלוג nelson.cloud מוזכר שלמעשה Git תומך בשלוש רמות של כללי התעלמות, וכל אחת מהן פותרת בעיה אחרת.
רמת הפרויקט: .gitignore
האפשרות המוכרת היא הקובץ .gitignore בשורש המאגר. הוא נשמר ב־Git יחד עם הקוד, ולכן כל התורמים מקבלים את אותם כללים. קבצים הרשומים בו אינם נלקחים בחשבון כשמריצים פקודות Git — ולכן זה עדיין המקום הנכון לתוצרי בנייה, תלויות וקבצים זמניים של עורכים שהצוות כולו רוצה להתעלם מהם.
רמת המאגר: .git/info/exclude
הקובץ השני הוא .git/info/exclude. הוא נמצא בתיקיית .git של כל מאגר, אך שינויים בו אינם נכנסים ל־Git לעולם. במאגר חדש יש בו בדרך כלל כמה שורות הערה בלבד. הוא מיועד לחריגים אישיים ברמת מאגר אחד: למשל notes.txt שמועיל לכם אך אין לו מקום בפרויקט. הוספה של רשומות כאלה כאן משאירה את .gitignore מסודר ומונעת פרסום העדפות שאיש מלבדכם אינו חולק.
רמת המכונה: ~/.config/git/ignore
הרמה השלישית היא גלובלית. הקובץ ~/.config/git/ignore יושב בתיקיית הבית וחל על כל מאגר במחשב; הוא אינו שייך לאף פרויקט. השימוש הקלאסי הוא הרעש של מערכת ההפעלה — ב־macOS מדובר ב־.DS_Store. אפשר לשנות את המיקום: הפקודה git config --global core.excludesFile ~/.gitignore_global מפנה את Git לקובץ אחר, ו־git config --global --unset core.excludesFile מחזירה את ברירת המחדל.
איזה קובץ מתעלם מהנתיב
כשקובץ נעשה בלתי נראה ל־Git באופן בלתי צפוי, הפקודה git check-ignore -v מציגה את הכלל המדויק שהתאים. עבור .DS_Store הפלט עשוי להיות .gitignore:1:.DS_Store, .git/info/exclude:7:.DS_Store או ~/.config/git/ignore:2:.DS_Store, בהתאם לרמה האחראית. אם דבר אינו מתעלם מהקובץ, הפקודה לא תדפיס דבר.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.