תיקון: Gitignore לא עובד



נסה את הכלי שלנו לביטול בעיות

GitHub התגלה כחלוץ מוביל בתחום שיתוף הפעולה בקוד ושיתוף מאגרים. GitHub היא בעיקר תוכנת בקרת גרסאות המאפשרת למשתמשים לשלוט על בקרת גרסאות מבוזרות ו- SCM (ניהול קוד המקור). פלטפורמה זו משמשת עסקים וחברות מרכזיות בכל רחבי העולם.



.gitignore



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



מה זה .gitignore?

Git (או GitHub) רואה כל קובץ בספריית העבודה שלך. הוא מאפיין כל קובץ כאחד משלושה:

  • במעקב: קבצים אלה הוקצו או הועלו בעבר בהיסטוריה.
  • ללא מעקב: אלה הקבצים שלא הועלו לפני כן או הועלו.
  • התעלם: אלה הקבצים שהמשתמש עצמו אמר לגיט להתעלם מהם לחלוטין.

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

  • קוד מורכב: קבצים אלה הם בדרך כלל עם הסיומת .class, .pyc, .ccp וכו '.
  • קבצי מערכת נסתרים: אלה קבצים המשמשים את המערכת לצורך פעולותיה אך מוסתרים מהצגה רגילה, למשל, DS_Store או Thumbs.db וכו '.
  • בניית ספריות פלט: לרוב מדובר בספריות של / bin, / out וכו '.
  • מטמון תלות: קבצים אלה עשויים להיות התוכן של / node או / modules חבילות.
  • קבצי תצורה של IDE: אלה קבצי תצורה שנוצרו או מנוהלים בעיקר על ידי תוכנת IDE שלך.
  • קבצים שנוצרו בזמן הריצה: ישנן תוכניות שיוצרות קבצים בזמן הריצה. אם מופעל קוד כזה, קבצים מסוימים עשויים להיווצר בזמן הריצה בתיקיית העבודה שלך ואתה עלול להתעלם מהם ב- Git.

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



מה גורם .gitignore לא לעבוד?

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

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

פתרון 1: בודק קובץ .gitignore

אירע מקרה מעניין בו ראינו שקובץ ה- .gitignore נוצר בפורמט שגוי. בעיה מסוימת זו התרחשה כאשר משתמשים יצרו את הקובץ באמצעות יישום ברירת המחדל של Notepad במערכת ההפעלה של Windows. מתברר כי פנקס הרשימות כותב את הקובץ ב- Unicode במקום בפורמט ANSI. בפתרון זה נשמור את השינויים ב- Notepad בפורמט הנכון של .gitignore ונראה אם ​​זה פותר את הבעיה.

הערה: עליך להסיר את הסיומת של .txt מהקובץ בעת יצירת קובץ חדש באמצעות פנקס הרשימות.

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

שמור בשם - פנקס רשימות

  1. עכשיו מול הַצפָּנָה , בחר ANSI . כעת הסר את סיומת הקובץ של .txt ושמור את הקובץ בשם ' .gitignore '. בחר את הספרייה הנכונה ושמור.

בחירת ANSI כסוג קידוד

  1. עכשיו נווט לספריה ובדוק אם הקובץ הנכון נוצר. עכשיו בדוק זאת שוב עם Git ובדוק אם התכונה Ignore עובדת כצפוי.

מפתחים צריכים להימנע משימוש בפנקס הרשימות המוגדר כברירת מחדל ב- Windows. במקום זאת, עליך להשתמש בפנקס רשימות 'מתכנתים' מתאים. כמה דוגמאות כוללות פנקס רשימות ++ וכו 'באלה לא יהיו לך בעיות כמו אלה.

הערה: אם הקובץ שלך כבר נשמר בפורמט UNICODE, עליך לשמור את התוכן בפורמט ANSI כראוי אם אתה רוצה שהקובץ שלך יתגלה כראוי על ידי Git.

פתרון 2: בדוק את הקובץ שאתה מנסה להתעלם ממנו

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

עליכם לבחון את המבנה (מאגר) שלכם ולוודא שהקובץ ממנו אתם מנסים להתעלם כעת אינו מתווסף למאגר. אם כן, יהיה עליכם להסיר את הקובץ מהמאגר ולאחר ביצוע השינויים האחרונים, להוסיף את שמו ל- .gitignore (תוכלו גם להעתיק את תוכן הקובץ ולאחר מחיקתו, לשכפל אותו בשם אחר) .

פתרון 3: הוספה מחדש של קבצים למאגר

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

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

  1. בצע את הפקודה הבאה. פעולה זו תבטל את הבמה ותסיר את הנתיבים לקבצים שלך מאינדקס git באופן רקורסיבי.
git rm -r - מטמון.
  1. לאחר ביצוע פעולה זו, עליך לבצע את הפקודה הבאה. זה יוסיף את כל הקבצים שלך בחזרה ומכיוון של- gitignore יהיו הכללים, רק הקבצים הנכונים יעודכנו.
להוסיף git.
  1. כעת אנו מחייבים את כל הקבצים בחזרה לאינדקס באמצעות הקוד שלמטה:
git commit -m '.gitignore עובד עכשיו'

כעת בדוק את הקבצים שלך ובדוק אם הבעיה נפתרה ותוכל להשתמש שוב ב- .gitignore ללא בעיות.

4 דקות קריאה