По ошибке я добавил некоторые файлы, которые я не хотел добавлять в файл commit
, я сделал это:
git add .
Дело в том, что добавил все файлы в папку и есть пара файлов, которые я не хотел коммитить, потому что они были для моих тестов.
Когда я делаю это:
git status
Я получил:
archivo1.js
archivo2.js
archivoQueNoQuieroCommitear.js
Спросить
Поскольку я еще не сделал commit
, как удалить archivoQueNoQuieroCommitear.js
из коммита?
Если возможно, я пытаюсь сбросить голову.
Файлов раньше не было, поэтому я не могу их сделать checkout
.
Вы должны удалить их из индекса с помощью:
Взято из документации :
Чтобы вы лучше понимали, что происходит, команда
git add
добавляет запись в «индекс» с текущим содержимым файла в «рабочее дерево» (ваш рабочий каталог).Когда я говорю добавить запись в «индекс», я имею в виду, что он
git add
делает копию вашего рабочего файла (тот, который вы редактировали) в «зону», известную как промежуточная (это папка внутри каталога.git
), откуда он берет файлы командойgit commit
.Это новые файлы, поэтому они есть только в рабочем дереве и в индексе, но не в текущей ветке, поэтому у них нет HEAD, поэтому вы не сможете получить их оттуда.
git reset
удалите файл(ы) из «индекса», и в вашем рабочем дереве останется только оригинал. Это то, что вы хотели.Чтобы вернуться конкретно
git add
, это делается с помощью:Документация (на английском):
На самом деле я вижу, что это очень популярный вопрос в stackoverflow:
Отмените «git add» перед фиксацией .
Если файл находится в текущем каталоге
Если файл находится по пути, отличному от текущего каталога
Когда
git reset <archivo>
вы вернете файл, который вы добавилиgit add .
перед фиксацией.Я думаю, что было бы нехорошо использовать сброс git, поскольку он предназначен для удаления коммитов или отката к определенному коммиту.
Если вы хотите удалить файл из индекса (список файлов, которые были добавлены с помощью добавления, но не зафиксированы), лучше использовать git rm: