#git #git-add #git-stage
#git #git-добавить #git-этап
Вопрос:
Иногда я запускаю git add .
и добавляются большие файлы, которые не должны были добавляться. Как я могу увидеть, какие файлы были добавлены без фиксации? И как «отменить добавление» этих файлов или всех файлов сразу, чтобы я мог исправить .gitignore
?
Ответ №1:
(Отказ от ответственности: ни одна из приведенных ниже команд не изменяет ваши изменения в файлах, все это касается того, что установлено или нет)
Как сделать…
… отобразите полный список того, что подготовлено на данный момент. (документ для diff -staged)
git diff --staged --name-only
… «отменить добавление» (unstage) одного файла
git reset -- path/to/file
…или аналогично, удалите каталог со всем, что в нем
git reset -- path/to/dir/
…отменить все (пример в документе)
git reset
Наконец, об исправлении .gitignore
, взгляните git check-ignore -v <path>
, чтобы точно узнать, какой .gitignore
файл игнорирует ваш путь.
Ответ №2:
Как проверить, какие файлы были созданы
git status -s
Файлы с зеленым префиксом буквы M указывают на то, что они были кэшированы, а красный означает, что они все еще находятся в рабочей области, а не в кэше.
Ответ №3:
И как «отменить добавление» этих файлов
Используйте git rm
ваш-file . Для получения подробной информации см. Документацию git или попробуйте git rm --help
Комментарии:
1. Будьте осторожны:
git rm
удаляется как индексная (она же промежуточная область) копия файла, так и копия рабочего дерева. Обычно можно сохранить копию рабочего дерева, для которой необходимо использоватьgit rm --cached
.