2016-02-21 4 views
1

Новичок вопроса:Добавить разные коммиты из одной ветви в различные отрасли

Я сделал 3 фиксаций в master ветви, а не открытие 3 новых филиалов для изменений (они были в разных контекстах).

Что является самым простым способом для черри-выделения конкретных коммитов и применения их к новой ветке?

ответ

2

Вы можете начать 3 ветви с master~3, чтобы начать до трех неправильных фиксаций:

git checkout -b fix1 master~3 
git cherry-pick master~2 

git checkout -b fix2 master~3 
git cherry-pick master~1 

git checkout -b fix3 master~3 
git cherry-pick master 

(Если предположить, что три коммиты были fix1, fix2 и fix3 из старейших master~2 для большинства самых последних master SHA1 коммит)

Тогда вы можете сбросить мастер (при условии, что вы не толкать его уже, или если вы в одиночку работать на хозяина)

git checkout master 
git reset hard @~3 
+0

Итак, мне нужно было скопировать значения SHA где-то вручную? – goelakash

+0

@goelakash вы можете или вы можете прямо ссылаться на них: 'git cherry-pick master' для' fix1', 'git cherry-pick master ~ 1' для' fix2' и 'git cherry-pick master ~ 2' для 'fix3'. – VonC

+0

@goelakash Я использовал ручной подход в своем ответе, потому что вы упомянули «Я скопировал коды SHA последних трех коммитов в текстовом файле» – VonC

Смежные вопросы