Как перенести коммит из мастера в другую ветку? - PullRequest
0 голосов
/ 18 февраля 2019

Я работал над мастером и забыл, что я не изменил ветку, пытался нажать, но из-за ограничений я не мог (я счастлив), я перешел на разработку, но коммит остался на мастере, как я могупередать его на разработку?

Ответы [ 3 ]

0 голосов
/ 18 февраля 2019

Я понял, как это сделать, мне нужно перейти в ветку, в которую я хочу перенести свои изменения, и использовать git cherry-pick commit identifier

0 голосов
/ 18 февраля 2019

Просто, чтобы дать полную версию вишневого пика решения в этой ситуации (которая впоследствии также удаляет коммит из мастера)

git checkout develop
git cherry-pick master
git checkout master
git reset --hard HEAD^
0 голосов
/ 18 февраля 2019

Используя 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 или что-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...