Как удалить поддерево каталога из промежуточной области?

Я сделал новый репозиторий и побежал git add -A, Затем я заметил, что там была папка, содержащая около 100 файлов, которые не должны были быть включены, поэтому я добавил ее в .gitignore,

Как мне теперь очистить область подготовки, чтобы я мог add все мои файлы снова с учетом обновленных .gitignore?

4 ответа

Решение

В #git вы сказали, что непреднамеренно добавили каталог, который должен был игнорироваться, поэтому запустите

git rm --cached -r directory-name

рекурсивно удалить дерево с корнем в directory-name из индекса.

Не забудьте обновить .gitignore!

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

git reset

Убедитесь, что вы не забыли поставить s в --global core.excludesfile .gitignore.txt

excludesfile против excludefile

Может быть, это спасет кого-то еще час, который я потерял...

С довольно современной версией git теперь вы можете сделать:

      git reset foldername/*

Я нашел самую раннюю документацию по этой функции начиная с версии 2.12.5, но она может работать и в более старой версии git.

Другие вопросы по тегам