Удалить файл из списка, который будет зафиксирован

У меня есть список измененных файлов в репозитории git. Есть один файл, который я не хочу фиксировать на данный момент. Могу ли я сделать:

git commit -a

Сделать коммит всех файлов, а затем каким-то образом удалить этот файл из текущего коммита? После такого удаления он должен оставаться в списке незафиксированных файлов.

46
задан Josh Caswell 7 February 2019 в 18:09
поделиться

1 ответ

Вы хотите сделать это:

git add -u
git reset HEAD path/to/file
git commit

Не забудьте сделать это с верхнего уровня репозитория; add -u добавляет изменения в текущий каталог (рекурсивно).

Ключевая строка указывает git сбросить версию данного пути в индексе (область промежуточной подготовки для коммита) до версии из HEAD (текущего извлеченного коммита).

И предварительное предупреждение о подводной лодке для тех, кто читает это: add -u выполняет все модификации, но не добавляет неотслеживаемые файлы. Это то же самое, что делает commit -a. Если вы хотите добавить и неотслеживаемые файлы, используйте add . , чтобы рекурсивно добавить все.

59
ответ дан 26 November 2019 в 20:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: