это - git удалить тег




Как удалить один файл из промежуточной области Git, но не удалить его из индекса или отменить изменения в самом файле? (10)

Ситуация: у меня есть репозиторий Git с файлами, уже находящимися в индексе. Я вношу изменения в несколько файлов, открываю Git и добавляю эти файлы в свою промежуточную область с помощью «git add».

Вопрос. Как удалить один из этих файлов из промежуточной области, но не удалить его из индекса или отменить изменения самого файла?


В моем случае я делаю

git checkout -- FILE

Вы должны находиться в каталоге файла, а затем вводить следующее в терминал

git reset HEAD .

Предполагается, что вам нужно сбросить только один файл.


Если вы хотите удалить подмножество изменений в свой файл, вы можете использовать:

git reset -p

или же

git reset -p <file_name>

Эта команда в основном обратная git add -p : она удалит только выбранные изменения из промежуточной области. Я нахожу его чрезвычайно полезным в «неудобном» то, что я добавил по ошибке.


Если вы хотите удалить файлы по определенному шаблону, и вы используете git rm --cached , вы также можете использовать шаблоны файлов.

См. here .


Когда вы выполняете git status , Git сообщает вам, как отключиться:

Changes to be committed: (use "git reset HEAD <file>..." to unstage).

Так что git reset HEAD <file> работал для меня, и изменения не были затронуты.


Ты хочешь:

  • Повлиять на один файл

  • Удалить файл из промежуточной области

  • Не удалять один файл из индекса

  • Не отменить само изменение

и решение

git reset HEAD file_name.ext

или же

git reset HEAD path/to/file/file_name.ext

git checkout -- <file>

Он отлично работает для удаления файлов из промежуточной области


git reset <file>

Работает ли у вас какие-либо предыдущие фиксации.


git reset filename.txt

Если у вас есть модификация в файле filename.txt, вы добавили его поэтапно по ошибке, и вы хотите удалить файл из этапа, но вы не хотите терять изменения.


git rm --cached FILE

,

git rm -r --cached CVS */CVS




staging