Исключение файлов/папок в Git с помощью .gitignore: удаление из репозитория.

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

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

Как полностью очистить репозиторий Git (очистить индекс)

Шаг 1: Закоммитьте все изменения

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

Шаг 2: Удалите всё из репозитория

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

git rm -r --cached .

  • rm — означает "удалить".
  • -r — позволяет производить удаление рекурсивно (удаляет также содержимое папок).
  • --cached — удалит файлы только из индекса, не затрагивая их физически.
  • . — указывает, что будут удалены все файлы.

Команда rm действует безжалостно. Поэтому вы можете сделать "пробный" запуск. Для этого добавьте флаг -n или --dry-run, чтобы увидеть, что сделает команда.

Шаг 3: Добавьте всё снова

После очистки индекса используйте команду:

git add .

Шаг 4: Закоммитьте изменения

Теперь закоммитьте изменения с сообщением.

git commit -m ".gitignore перезапущен"

Вот и всё. Ваш репозиторий теперь чист. 😊
Не забудьте отправить изменения на удалённый сервер, чтобы удалить все ненужные файлы и там.

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

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

git rm --cached www/composer.lock

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

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *