Я создал новую ветку с именем newbranch
из master
ветви в git. Теперь я сделал некоторую работу и хочу слиться newbranch
с master
; тем не менее, я внес некоторые дополнительные изменения newbranch
и хочу объединиться newbranch
до четвертого, от последнего, коммита master
.
Я использовал, cherry-pick
но он показывает сообщение, чтобы использовать правильные параметры:
git checkout master
git cherry-pick ^^^^HEAD newbranch
Могу ли я использовать git merge
вместо этого?
git merge newbranch <commitid>
commit-id
newbranch
с того времени , его история расходилась отmaster
доcommit-id
вmaster
отрасль. Вы можете думатьgit merge <commit-id>
как о слиянии некоторой неназванной ветви, которая заканчиваетсяcommit-id
в вашей текущей ветви.git merge
. т.е. скажем, что вы хотите объединить коммит 18a6fac из ветви b2 в ветку b1, просто сделайтеgit checkout b1; git merge 18a6fac
Чтобы сохранить ветвление в чистоте, вы можете сделать это:
Таким образом, newbranch закончится там, где он был объединен с master, и вы продолжите работать над newbranch2.
источник
Запустите приведенную ниже команду в папку текущей ветки, чтобы объединить эту
<commit-id>
ветку с текущей веткой,--no-commit
не делайте новую фиксацию автоматическиgit merge --continue
можно запустить только после того, как слияние привело к конфликтам.git merge --abort
Прервите текущий процесс разрешения конфликтов и попытайтесь восстановить состояние перед объединением.источник