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

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

.gitignore

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

Що таке .гітігнор?

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

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

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

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

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

Що викликає .гітігнор не працювати?

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

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

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

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

Примітка. Під час створення нового файлу за допомогою блокнота потрібно видалити розширення .txt.

  1. Після написання коду або змін у новому текстовому документі в Блокноті натисніть кнопку Файл та виберіть Зберегти як .

Зберегти як - Блокнот
  1. Тепер перед програмою Encoding виберіть ANSI . Тепер видаліть розширення файлу .txt і збережіть файл із назвою ' .gitignore '. Виберіть правильний каталог і збережіть.

Вибір ANSI як типу кодування
  1. Тепер перейдіть до каталогу та перевірте, чи створено правильний файл. Тепер ще раз протестуйте його за допомогою Git і подивіться, чи працює функція Ignore так, як очікувалося.

Розробники повинні утриматися від використання Блокнота за замовчуванням у 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 без жодних проблем.

Цікаві Статті