Исправлено: Gitignore не работает

GitHub стал ведущим пионером в области совместной работы над кодом и совместного использования репозитория. GitHub - это, прежде всего, программное обеспечение для контроля версий, которое позволяет пользователям контролировать распределенный контроль версий и SCM (управление исходным кодом). Эта платформа используется крупными компаниями и компаниями по всему миру.

.gitignore

Подобные платформы имеют свои технические особенности и проблемы. Одна конкретная проблема, с которой столкнулись программисты, заключалась в том, что .gitignore не работал в GitHub. Платформа либо игнорировала .gitignore, либо работала частично. Интересно отметить, что проблема может немного отличаться в каждом случае, так как каждый случай является совершенно другим сценарием. Однако решения, которые мы перечислим, будут содержать исправления, которые будут работать универсально.

Что такое .gitignore?

Git (или GitHub) видит каждый файл в вашем рабочем каталоге. Он характеризует каждый файл как один из трех:

  • Отслеживается: эти файлы либо зафиксированы, либо поставлены ранее в истории.
  • Не отслеживается: это файлы, которые ранее не были поставлены или зафиксированы.
  • Игнорируется: это файлы, которые пользователь сам сказал Git полностью игнорировать.

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

  • Скомпилированный код: эти файлы обычно имеют расширение .class, .pyc, .ccp и т. Д.
  • Скрытые системные файлы: это файлы, которые используются системой для ее операций, но скрыты от простого просмотра, например, DS_Store или Thumbs.db и т. Д.
  • Построить выходные каталоги: в основном это каталоги / bin, / out и т. Д.
  • Кэши зависимостей: Эти файлы могут быть содержимым модулей / node или / packages.
  • Файлы конфигурации IDE: это файлы конфигурации, которые в основном создаются или управляются вашим программным обеспечением IDE.
  • Файлы, созданные во время выполнения: Есть несколько программ, которые создают файлы во время выполнения. Если любой такой код выполняется, некоторые файлы могут быть сгенерированы во время выполнения в вашей рабочей папке, и вы можете игнорировать их в Git.

Какой бы файл вы не хотели игнорировать, он отслеживается в специальном файле с именем .gitignore, который в основном проверяется в корне вашего рабочего репозитория. Согласно официальной документации GitHub по этому вопросу, нет конкретной команды gitignore. Вместо этого вы должны вручную отредактировать файл, который вы хотите игнорировать. Файл .gitignore содержит шаблоны, которые сопоставляются с именами файлов в вашем рабочем хранилище, и они используются, чтобы помочь определить, следует ли игнорировать конкретный файл или нет.

Что заставляет .gitignore не работать?

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

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

Решение 1. Проверка файла .gitignore

Появился интересный случай, когда мы увидели, что файл .gitignore создан в неправильном формате. Эта конкретная проблема возникла, когда пользователи создали файл с помощью стандартного приложения «Блокнот» в ОС Windows. Оказывается, Блокнот пишет файл в Unicode вместо формата ANSI. В этом решении мы сохраним изменения в Блокноте в правильном формате .gitignore и посмотрим, решит ли это проблему.

Примечание: вы должны удалить расширение .txt из файла, когда создаете новый файл с помощью Блокнота.

  1. После написания кода или изменений в новом текстовом документе в Блокноте, нажмите Файл и выберите Сохранить как .

Сохранить как - Блокнот
  1. Теперь перед Кодировкой выберите ANSI . Теперь удалите расширение файла .txt и сохраните файл с именем .gitignore . Выберите правильный каталог и сохраните.

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

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

Примечание. Если ваш файл уже сохранен в формате UNICODE, вы должны правильно сохранить содержимое в формате ANSI, если вы хотите, чтобы Git правильно обнаружил ваш файл.

Решение 2. Проверка файла, который вы пытаетесь игнорировать

Другое условие, при котором работает .gitignore, заключается в том, что ваш файл еще не должен быть частью репозитория . Это очень важный аспект, так как если это так, файл не будет проигнорирован, поскольку он уже добавлен в хранилище. Git не может игнорировать это, даже если вы поместите его имя или правило в файл .gitignore. По сути, Git игнорирует только неотслеживаемые файлы .

Вы должны посмотреть на свою структуру (хранилище) и убедиться, что файл, который вы пытаетесь игнорировать, не добавлен в хранилище. Если это так, вам придется удалить файл из репозитория и после того, как последние изменения будут зафиксированы, добавить его имя в .gitignore (вы также можете скопировать содержимое файла и после удаления скопировать его с другим именем),

Решение 3. Повторное добавление файлов в репозиторий

Если вы уже добавили правила в .gitignore, но файлы, которые вы хотите игнорировать, уже добавлены, мы можем повторно добавить файлы. Добавление означает, что мы удалим все из индекса Git, а затем снова добавим все обратно в ваш репозиторий. Когда мы снова добавим файлы с нуля, будут учтены правила, добавленные вами в .gitignore, и будут добавлены только правильные файлы.

Примечание. Перед выполнением этого решения вы должны сделать резервную копию своего кода в другом месте. Всегда хорошо иметь резервную копию на всякий случай.

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

Теперь проверьте ваши файлы и посмотрите, решена ли проблема, и вы можете снова использовать .gitignore без каких-либо проблем.

Интересные статьи