Используя git reset
.См. Также здесь .
С помощью сброса вы можете перенести изменения обратно в рабочее дерево.
Затем вы переключаетесь на ветку, в которую хотите внести изменения, а затемзафиксировать изменения.
git checkout master
git reset --soft HEAD~1
git checkout develop
git commit
Где HEAD~1
относится к двум коммитам назад.Вы также можете использовать коммит из коммита до для ошибочного коммита.
--soft
означает, что вынуть изменения из коммита (но оставить их в своем рабочем пространстве) итакже держите их в области 'staging'.
Без --soft
git по умолчанию равен --mixed
, что также сбрасывает область размещения, что не составляет большого труда, если у вас нет других локальных изменений.Вам просто нужно заново добавить их через git add xyz.txt
или что-то еще.