Вообщем ситуация следующая, пытаюсь встраивать в себя продвинутый алгоритм размещения на GitHub. Но постояно спотыкаюсь об один момент, вместо того, чтобы перед началом работы зайти и создать новый бранч залазию в старый бранч и начинаю вносить изменения там, потом вспоминаю, что нужно было создать новый бранч. Первый раз просто убил все изменения, а вчера сделал много изменений и попытался их перенести в новый бранч по следующему алгоритму:

git stash git checkout master git checkout -b "New_branch" git stash apply

В итоге столкнулся с двумя проблемамами:

1. После того, как я спрятал изменения в git stash и хотел переключиться на мастер получал ошибку:

error: Ваши локальные изменения в указанных файлах будут перезаписаны при переключении на состояние:
.eslintcache
Сделайте коммит или спрячьте ваши изменения перед переключением веток.
Прерываю

Вобщем вроде спрятал, но начал вылазить .eslintcache, потом он еще много раз вылазил, победил его тоже сохранив в git stash, но потом он все равно выдовал везде ошибку, когда создал ветку он опять вылез здесь я уже воспользовался git reset --hard HEAD в новой ветке ибо достал он меня:)

2. В итоге когда я сделал git stash apply в новой ветке у меня VSC очень много файлов перекрасилось в фиолетовый цвет в одном файле вылетело сообщение типо подтвердите изменения я подтвердил во вкладке git в VSC все выделенные файлы фиолетовым были зачеркнуты, я их добавил нажав на плюс. Но в итоге оказалось, что помимо этих проблем он мне снес все css файлы, которые у меня были в проекте. Короче в итоге я решил сделать git pull и делать все изменения заново, потому-что все превратилось в какую-то кашу.

Собственно вопрос вот в чем, как все-таки правильно поступать в таких случаях, если уже начал изменять в старой ветке, которую нужно было удалить и перенести эти изменения в новую ветку без потери кусков проекта. И можно ли как-то успокоить .eslintcache, чтобы он не лез во все щели в локальном репо, в .gitignor я его добавил, но как его подуспокоить локально не понимаю.