Как перенести изменения в master на отдельную ветку в git?
По ошибке начал кодить новую фитчу в мастер ветке, и не смог остановиться :) Сейчас очень сильно всё запуталось, захотел вернуться к начальной точке, а всё что после того коммита, выделить в отдельную не мастер ветку, а мастер продолжить с той точки. Такое возможно? Подскажите пожалуйста, как это сделать
git branch feature_branch - создаём ветку с фичей git reset --hard commit_hash - сбрасываем текущую ветку (в вашем случае должна быть master) на выбранный коммит.
Ну а дальше форс пуш и т.д.
Если вы не один работаете над проектом, то такие действия нужно согласовать с остальными.
fshp: Когда я писал ответ, я это понимал, просто это полный мануал, причем это не помешало мне не иметь уверенности что точно происходит с кодом с --hard, поэтому я и спросил у вас :)
Михаил: ну смотрите. Код сохранён в другой ветке, его не теряем. Если сделать ресет без харда, то указатель ветки сбросится, но все изменения из сброшенных коммитов останутся в индексе. Т.е. как будто вы их только что написали, но не закомитили. Раз автору они не нужны в мастере, то зачем их оставлять?
fshp: ага. вижу как вы пытаетесь ему обьяснить выше как это сделать. а я бы при такой проблеме давно бы просто откатился до нужного коммита оставив бекап и перенес бы изменения нужные.