Насколько я понимаю, вы сделали коммит, включающий кучу нежелательных файлов в вашей ветке developer
. Я предполагаю, что вы сделали это в своем последнем коммите. Вы можете просто вернуться к предыдущему коммиту с помощью команды git --soft
:
# we are on branch `developer`
git reset --soft HEAD~1
Теперь вы вернулись к предыдущему коммиту, но все еще со всеми изменениями в области подготовки (благодаря --soft
флаг). Но ваши 150 нежелательных файлов также все еще находятся в промежуточной области (используйте git status
для мониторинга). Итак, вы не потеряли какие-либо изменения, которые действительно имеют значение, но нам нужно удалить 150 нежелательных файлов из области подготовки.
Теперь у вас есть несколько вариантов. Вы можете удалить каждый из 150 файлов следующим образом:
git reset -- path/to/unwanted/file001
Это не очень приятная работа, особенно если вам придется повторить это 150 раз. Вы можете просто удалить все ваши файлы:
git reset
и поместить файлы, которые вы хотите зафиксировать, в ветку developer
:
git add path/to/wanted/file01
Третий вариант - отключить все файлы. файлы с git reset
, отредактируйте файл .gitignore
и, наконец, добавьте изменения в область подготовки с помощью:
git add --all
Ваш .gitignore
должен затем предотвратить добавление 150 ненужных файлов в подготовку площадь.
Итак, подведем итоги:
git reset --soft HEAD~1 # or HEAD~N if you created the unwanted files N commits ago
git reset
/* edit your .gitignore file */
git add --all
/* commit the results */