Ответ 1
Чтобы удалить каталог и все, что внутри него, из индекса,
git rm --cached -r dir
Переключатель --cached
позволяет git rm
работать только с индексом и не прикасаться к рабочей копии. Переключатель -r
делает его рекурсивным.
Я ошибочно добавил файлы, используя команду "git add dir". Я еще не запускал "git commit". Есть ли способ удалить этот каталог и все, что содержится в нем из коммита?
Я пробовал git reset dir
, но это не сработало. По-видимому, git reset file
- это способ его отменить. Но у меня так много файлов и так мало времени.
Чтобы удалить каталог и все, что внутри него, из индекса,
git rm --cached -r dir
Переключатель --cached
позволяет git rm
работать только с индексом и не прикасаться к рабочей копии. Переключатель -r
делает его рекурсивным.
Вы захотите использовать git rm --cached -r <dir>
.эта команда удалит содержимое промежуточного каталога из индекса.
если каталог уже отслежен, вы должны вручную найти новые и старые файлы и удалить их…
Вероятно, после этого запустите git reset <dir>
, чтобы сбросить существующие (и уже отслеженные) файлы внутри каталога.
Обновление 2019:
Просто запустите git reset directory
, он отключит все вновь добавленные файлы.
find dir -type f | xargs git reset
$ git reset <dir>
Unstages все файлы и папки, с которыми я поставил:
$ git add <dir>
Сказанное было подтверждено:
$ git status
или же
$ git diff --staged --name-only
после команды git add, чтобы подтвердить файлы и папки, которые были "Изменения, которые будут приняты".
После запуска команды git reset я использовал:
$git diff --staged --name-only
чтобы убедиться, что ни одна из папок или файлов, ранее созданных, не была сохранена.