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 з файлу, коли створюєте новий файл за допомогою Блокнота.
- Після написання коду або змін у новому текстовому документі в Блокноті натисніть на Файл і виберіть Зберегти як .
- Тепер перед Кодування виберіть ANSI . Тепер видаліть розширення .txt і збережіть файл із назвою ' .gitignore '. Виберіть правильний каталог і збережіть.
- Тепер перейдіть до каталогу та перевірте, чи створений правильний файл. Тепер протестуйте ще раз за допомогою Git і перевірте, чи функція Ігнорувати працює належним чином.
Розробники повинні утриматись від використання Блокнота за замовчуванням у Windows. Натомість слід використовувати відповідний блокнот для програмістів. Деякі приклади включають Notepad ++ тощо. У них у вас не буде таких проблем.
Примітка: Якщо ваш файл уже збережений у форматі UNICODE, вам слід правильно зберегти вміст у форматі ANSI, якщо ви хочете, щоб ваш файл був належним чином виявлений Git.
Рішення 2. Перевірка файлу, який ви намагаєтеся проігнорувати
Ще однією умовою, за якої працює .gitignore, є те, що ваш файл ще не повинен бути частиною сховища . Це дуже важливий аспект, оскільки якщо це правда, файл не буде ігноруватися, оскільки він вже доданий до сховища. Git не може ігнорувати це, навіть якщо ви розміщуєте його ім'я або правило у файлі .gitignore. Отже, по суті, Git ігнорує лише відстежені файли .
Вам слід переглянути свою структуру (сховище) і переконатися, що файл, який ви намагаєтеся ігнорувати, не додано до сховища. Якщо це так, вам доведеться видалити файл зі сховища, а після внесення останніх змін додайте його ім'я в .gitignore (ви також можете скопіювати вміст файлу, а після його видалення повторіть його з іншим ім'ям) .
Рішення 3: Повторне додавання файлів до сховища
Якщо ви вже додали правила в .gitignore, але файли, які ви хочете проігнорувати, уже додані, ми можемо повторно додати файли. Додавання означає, що ми видалимо все з індексу Git, а потім знову додамо все до вашого сховища. Коли ми знову додаємо файли з нуля, матиметься на увазі правила, які ви додали в .gitignore, і додаються лише правильні файли.
Примітка: Перед виконанням цього рішення слід також створити резервну копію коду в іншому місці. Завжди добре мати резервну копію про всяк випадок.
- Виконайте наступну команду. Це призведе до зняття та рекурсивного видалення шляхів до ваших файлів з git-індексу.
git rm -r --кешовано.
- Після цього слід виконати таку команду. Це додасть усі ваші файли назад, і оскільки .gitignore матиме правила, оновлюватимуться лише правильні файли.
git add.
- Тепер ми повернемо всі ваші файли назад до індексу, використовуючи код нижче:
git commit -m ".gitignore зараз працює"
Тепер перевірте свої файли та перевірте, чи проблему вирішено, і ви можете знову використовувати .gitignore без жодних проблем.