Как удалить поддерево каталога из промежуточной области?
Я сделал новый репозиторий и побежал git add -A
, Затем я заметил, что там была папка, содержащая около 100 файлов, которые не должны были быть включены, поэтому я добавил ее в .gitignore
,
Как мне теперь очистить область подготовки, чтобы я мог add
все мои файлы снова с учетом обновленных .gitignore
?
4 ответа
В #git вы сказали, что непреднамеренно добавили каталог, который должен был игнорироваться, поэтому запустите
git rm --cached -r directory-name
рекурсивно удалить дерево с корнем в directory-name
из индекса.
Не забудьте обновить .gitignore
!
Убедитесь, что вы не забыли поставить s
в --global core.excludesfile .gitignore.txt
excludesfile
против excludefile
Может быть, это спасет кого-то еще час, который я потерял...
С довольно современной версией git теперь вы можете сделать:
git reset foldername/*
Я нашел самую раннюю документацию по этой функции начиная с версии 2.12.5, но она может работать и в более старой версии git.