Как git reset - сохранить все, кроме 4 файлов
Предполагая, что ничего не поставлено, какой рекомендуемый способ reset выполнить всю работу, за исключением файлов:
app/models/a.rb
app/views/a/index.html.rb
config/foo.rb
config/bar.rb
Другие грязные файлы существуют в app/models/и app/views/, которые я не хочу сохранять.
Ответы
Ответ 1
Как вы описали проблему, не похоже, что вы хотите сделать reset
. Самое простое:
git add app/models/a.rb app/views/a/index.html.rb config/foo.rb config/bar.rb
git checkout .
поэтому он добавляет ваши 4 файла в индекс и проверяет чистые версии (т.е. отбрасывает изменения) для других файлов.
Я предполагаю, что раньше вы не устраивали (git add
) ранее измененные файлы (вы должны затем отключить его с помощью reset).
Ответ 2
Один из способов: git передать эти четыре файла, затем reset hard, а затем отменить фиксацию:
git add <files to keep>
git commit -m "temp"
git reset --hard
git reset HEAD~
Ответ 3
Если эти четыре файла находятся в индексе, а грязные файлы - нет, простой git-clean
должен сделать трюк. Если вы не уверены, сначала используйте переключатель --dry-run
и обратите внимание на переключатель --exclude
.
В противном случае, придерживайтесь siride answer