Народ, я прочитал данную статью:
https://appuals.com/how-to-fix-git-error-your-local-changes-to-the-following-files-will-be-overwritten-by-merge/, чтобы избавиться от ошибки, сообщение которой говорится в статье и когда при переключении веток, стэше. и других случаях приводящих к слиянию гит понимает и предупреждает ошибкой, что коммиты/изменения нужно переписать. Я понял, что это может возникать, когда ты изменения не спрятал, не откатил или не закоммитил, т.е. проиндексировал ( staged ) и всё. Но как бороться в такой ситуации в случае с ошибкой "перезаписи" мне понятна и там всё объяснили.
НО что делать, когда данная ошибка с "перезаписью" возникает, когда ты скажем в мастере и другой ветке, ответвлённой от мастер имеешь разную историю коммитов локально ( по их количеству ), т.е. в мастере ВСЕ коммиты запушены, а в ответвлённой от мастера ветки все кроме последней и при таком раскладе, если чекаутиться с неё на мастер и назад, ты будешь получать эту же ошибку ???
И если ты решишь сбросить ветку на один тот коммит назад, который не запушен с помощью git reset --soft, то есть ли способ, чтобы те коммиты, которые ты откатил и остались в гите целы потом восстановить их, ребейснув к другой ветке или как-то иначе ??