Виправлення: Gitignore не працює

GitHub виявився провідним піонером у галузі спільної роботи коду та спільного використання сховищ. GitHub - це насамперед програмне забезпечення для управління версіями, яке дозволяє користувачам контролювати розподілений контроль версій та SCM (управління вихідним кодом). Цією платформою користуються великі компанії та компанії з усього світу.

Такі платформи мають свої технічні особливості та проблеми. Однією з конкретних проблем, з якою стикалися кодери, було те, що .gitignore не працював у GitHub. Платформа або ігнорувала .gitignore, або працювала частково. Цікаво відзначити, що проблема може бути дещо іншою в кожному випадку, оскільки кожен випадок - це зовсім інший сценарій. Однак перелічені нами рішення містять виправлення, які працюватимуть універсально.

Що таке .gitignore?

Git (або GitHub) бачить кожен файл у вашому робочому каталозі. Він характеризує кожен файл як один із трьох:

  • Відстежується: ці файли або фіксуються, або індексуються раніше в історії.
  • Без відстеження: це файли, які раніше не були індексовані або зафіксовані.
  • Ігнорується: це файли, які сам користувач наказав Git повністю ігнорувати.

Ці ігноровані файли можуть різнитися від сценарію до сценарію, і в основному це файли, створені машиною, або артефакти побудови. Це звичайна практика; ви можете ігнорувати різні інші файли відповідно до власних потреб. Деякі приклади цих файлів:

  • Скомпільований код: ці файли зазвичай мають розширення .class, .pyc, .ccp тощо.
  • Приховані системні файли: це файли, які використовуються системою для її роботи, але приховані від простого перегляду, наприклад, DS_Store або Thumbs.db тощо.
  • Створення вихідних каталогів: Це переважно каталоги / bin, / out тощо.
  • Кеші залежностей: Ці файли можуть містити вміст модулів / node або / package.
  • Файли конфігурації IDE: це файли конфігурації, які в основному створюються або управляються вашим програмним забезпеченням IDE.
  • Файли, створені під час виконання: Є деякі програми, які створюють файли під час роботи. Якщо будь-який з таких кодів запущений, деякі файли можуть бути створені під час запуску у вашій робочій папці, і ви можете проігнорувати їх у Git.

Файл, який ви хочете проігнорувати, відстежується у спеціальному файлі з іменем .gitignore, який переважно перевіряється у кореневій частині вашого робочого сховища. Згідно з офіційною документацією GitHub на цю тему, немає конкретної команди gitignore. Натомість вам доведеться вручну відредагувати файл, який ви хочете проігнорувати. Файл .gitignore містить шаблони, які відповідають іменам файлів у вашому робочому сховищі, і вони використовуються, щоб визначити, чи слід ігнорувати конкретний файл чи ні.

Що призводить до того, що .gitignore не працює?

Можливо, функція .gitignore працює ідеально, але ви, можливо, неправильно її налаштували. У всіх наших опитуваннях ми дійшли висновку, що модуль справді працює. Причина, по якій кодери не можуть використовувати цю функцію, здебільшого полягає в тому, що вони неправильно налаштували файл або існують деякі умови, які не відповідають базовому коду.

Ось кілька рішень, які можуть вам допомогти. Кожне рішення може бути непридатним у вашому випадку, тому переконайтеся, що ви перейшли до наступного, якщо початкові умови не виконуються.

Рішення 1. Перевірка файлу .gitignore

Вийшов цікавий випадок, коли ми побачили, що файл .gitignore був створений у неправильному форматі. Ця особлива проблема виникла, коли користувачі створили файл за допомогою програми Notepad за замовчуванням в ОС Windows. Виявляється, Блокнот пише файл у Unicode замість формату ANSI. У цьому рішенні ми збережемо зміни в Блокноті у правильному форматі .gitignore та перевіримо, чи вирішує це проблему.

Примітка: Ви повинні видалити розширення .txt з файлу, коли створюєте новий файл за допомогою Блокнота.

  1. Після написання коду або змін у новому текстовому документі в Блокноті натисніть на Файл і виберіть Зберегти як .
  1. Тепер перед Кодування виберіть ANSI . Тепер видаліть розширення .txt і збережіть файл із назвою ' .gitignore '. Виберіть правильний каталог і збережіть.
  1. Тепер перейдіть до каталогу та перевірте, чи створений правильний файл. Тепер протестуйте ще раз за допомогою Git і перевірте, чи функція Ігнорувати працює належним чином.

Розробники повинні утриматись від використання Блокнота за замовчуванням у Windows. Натомість слід використовувати відповідний блокнот для програмістів. Деякі приклади включають Notepad ++ тощо. У них у вас не буде таких проблем.

Примітка: Якщо ваш файл уже збережений у форматі UNICODE, вам слід правильно зберегти вміст у форматі ANSI, якщо ви хочете, щоб ваш файл був належним чином виявлений Git.

Рішення 2. Перевірка файлу, який ви намагаєтеся проігнорувати

Ще однією умовою, за якої працює .gitignore, є те, що ваш файл ще не повинен бути частиною сховища . Це дуже важливий аспект, оскільки якщо це правда, файл не буде ігноруватися, оскільки він вже доданий до сховища. Git не може ігнорувати це, навіть якщо ви розміщуєте його ім'я або правило у файлі .gitignore. Отже, по суті, Git ігнорує лише відстежені файли .

Вам слід переглянути свою структуру (сховище) і переконатися, що файл, який ви намагаєтеся ігнорувати, не додано до сховища. Якщо це так, вам доведеться видалити файл зі сховища, а після внесення останніх змін додайте його ім'я в .gitignore (ви також можете скопіювати вміст файлу, а після його видалення повторіть його з іншим ім'ям) .

Рішення 3: Повторне додавання файлів до сховища

Якщо ви вже додали правила в .gitignore, але файли, які ви хочете проігнорувати, уже додані, ми можемо повторно додати файли. Додавання означає, що ми видалимо все з індексу Git, а потім знову додамо все до вашого сховища. Коли ми знову додаємо файли з нуля, матиметься на увазі правила, які ви додали в .gitignore, і додаються лише правильні файли.

Примітка: Перед виконанням цього рішення слід також створити резервну копію коду в іншому місці. Завжди добре мати резервну копію про всяк випадок.

  1. Виконайте наступну команду. Це призведе до зняття та рекурсивного видалення шляхів до ваших файлів з git-індексу.
git rm -r --кешовано.
  1. Після цього слід виконати таку команду. Це додасть усі ваші файли назад, і оскільки .gitignore матиме правила, оновлюватимуться лише правильні файли.
git add.
  1. Тепер ми повернемо всі ваші файли назад до індексу, використовуючи код нижче:
git commit -m ".gitignore зараз працює"

Тепер перевірте свої файли та перевірте, чи проблему вирішено, і ви можете знову використовувати .gitignore без жодних проблем.