Git: перемещение коммитов из мастера в другую ветку - PullRequest
16 голосов
/ 21 октября 2011

Я сделал серию коммитов после хорошего коммита в основной ветке, который в ретроспективе я должен был сделать в другой ветке.Могу ли я переместить эти коммиты, начиная с определенного коммита, в другую ветвь и сохранить верный коммит как последний коммит на master?

Ответы [ 2 ]

25 голосов
/ 21 октября 2011

Конечно:

$ git branch new-branch-name                       # Create a new branch from the current commit
$ git reset --hard <last good commit on master>    # Reset master to the good commit
1 голос
/ 21 октября 2011

Да, вы можете, и это будет 2 отдельных операции :

Скопируйте коммиты из одной ветви в ветку, в которой вы хотите их видеть:

git cherry-pick <hash_of_commit> --onto <target_branch>

Затем исправьте ветку master , возвращающуюся к хорошей фиксации:

git checkout master
git reset --hard <hash_of_good_commit>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...