Скопируйте 1 коммит из одной ветви (dev) в другую (стабильную) с чистой рабочей директорией - PullRequest
14 голосов
/ 26 августа 2011

Я пытался понять Как отменить коммит и зафиксировать изменения в другой ветке в Git? , но я не думаю, что это должно быть так сложно.(Ответ использует branch -f и stash, и я не думаю, что они мне нужны.)

Я работал в моей ветке разработчика.Было два разных коммита в грязной рабочей директории.Зафиксируйте все изменения в двух разных коммитах.Последний коммит - WIP (так что материал для разработчиков).Второе-последнее сделано и должно быть скопировано в stable ветку.

Я представляю что-то вроде

$ git copy e87568fa stable

, но я уверен, что это не так.

Привязка вишни как-то связана с этим?

Чтобы быть уверенным: я хочу, чтобы коммит остался на dev.Так что не mv это, а cp это.

Я все еще сбит с толку всеми этими опциями и командами GIT.

1 Ответ

21 голосов
/ 26 августа 2011

Перейти к стабильной ветке:

git checkout stable

Скопировать нужный коммит в текущую ветку.

git cherry-pick e87568fa

Теперь вы можете вернуться к dev:

git checkout dev
...