Вот как очистить Git и удалить неотслеживаемые файлы

Неотслеживаемые файлы могут загромождать ваше рабочее дерево Git и портить вещи в будущем. Иногда эти неотслеживаемые файлы могут быть текстовыми или другими файлами, которые вам не нужны в вашем удаленном репозитории, или теми, которые вы ошибочно создали тем или иным способом после постановки фиксации.

В любом случае, это Всегда полезно очистить рабочее дерево Git, чтобы удалить эти файлы.

Что такое неотслеживаемые файлы во время фиксации Git?

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

Простое обновление уже существующих файлов, которые вы уже зафиксировали, не удаляет их из отслеживаемых файлов.

Когда вы готовите обновление для фиксации, новые файлы также помещаются вместе с ними, и Git добавляет их к отслеживаемым файлам. Однако новые файлы, которые вы добавляете в свой проект после постановки фиксации, не отслеживаются.

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

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

Очистить Git так же просто, как удалить ветку Git локально или удаленно. Давайте посмотрим, как вы можете очистить Git для удаления неотслеживаемых файлов или папок ниже.

Как очистить Git и удалить неотслеживаемые файлы или папки

Перед удалением неотслеживаемых файлов необходимо дважды проверить, хотите ли вы их удалить. Для этого запустите приведенный ниже код:

  git clean -d -n 

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

Чтобы удалить эти файлы и каталоги, выполните:

  git clean -d -f 

Чтобы удалить файлы только без удаления папок, используйте:

  git clean  -f 

Хотя вышеуказанные методы не удаляют файлы, перечисленные в .gitignore , вы можете использовать команду ниже, чтобы очистить элементы, перечисленные в файле .gitignore :

  git clean -fx 

Чтобы удалить только проигнорированные файлы без включения других файлов, на этот раз измените нижний регистр «x» на верхний регистр «X»:

  git  clean -fX 

Чтобы проверить, есть ли еще неустановленные файлы в вашем рабочем дереве, выполните следующую команду:

  git status 

Вы также можете очистить Git в интерактивном режиме, используя:

  git clean -i  

Чтобы включить файлы в .gitignore в интерактивном режиме очистки используйте:

  git clean -ix 

Для очистки файлов, перечисленных в .gitignore только в интерактивном режиме, выполните следующую команду. Убедитесь, что на этот раз вы используете заглавную букву «X»:

  git clean -ifX 

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

Выполнение git status дает вам текущую информацию о стадии, и если таковая имеется неустановленные файлы или папки, это также позволяет вам знать.

По-прежнему видеть удаленные файлы как неотслеживаемые после запуска Git Clean?

Однако после проверки статуса Git, если ранее удаленные файлы все еще появляются в разделе неотслеживаемых файлов, вам следует очистить кеш Git. Затем снова запустите git clean , чтобы удалить файлы.

Связано: Как клонировать репозиторий с помощью GitHub Desktop

Чтобы очистить кеш Git:

  git rm  -r --cached [filename] 

Если после очистки Git по-прежнему отображается несколько файлов, используйте следующую команду, чтобы очистить кеш Git для каждый файл:

  git rm -r --cached [filename1] [filename2] [filename3] ... 

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

Почему вам нужно очищать Git для удаления неотслеживаемых файлов?

Иногда вам нужно привести в порядок рабочее дерево Git, прежде чем оставлять проект на другой раз. Затем вы, вероятно, отправите или объедините последние изменения, которые вы внесли в проект, чтобы в следующий раз вы могли продолжить именно с того места, где остановились.

Но во время отправки или слияния некоторые файлы, которые вы не хотите в своем репозитории, могут попасть в него по ошибке.

Невозможность проверить такие файлы и удалить их может испортить ваш удаленный репозиторий, так как они будут отправлены в следующий раз, когда вы будете обновлять удаленный репозиторий. Кроме того, такие файлы могут нарушить работу при развертывании на таких платформах, как Heroku, где для развертывания используется git.

Итак: держите свой Git в чистоте!

Оцените статью
futurei.ru
Добавить комментарий