I created a new branch named newbranch
from the master
branch in git. Now I have done some work and want to merge newbranch
to master
; however, I have made some extra changes to newbranch
and I want to merge newbranch
up to the fourth-from-the-last commit to master
.
I used cherry-pick
but it shows the message to use the right options:
git checkout master
git cherry-pick ^^^^HEAD newbranch
Can I use git merge
to do it instead?
git merge newbranch <commitid>
Sure, being in master
branch all you need to do is:
git merge <commit-id>
where commit-id
is hash of the last commit from newbranch
that you want to get in your master
branch.
You can find out more about any git command by doing git help <command>
. It that case it's git help merge
. And docs are saying that the last argument for merge
command is <commit>...
, so you can pass reference to any commit or even multiple commits. Though, I never did the latter myself.
To keep the branching clean, you could do this:
git checkout newbranch
git branch newbranch2
git reset --hard <commit Id> # the commit at which you want to merge
git checkout master
git merge newbranch
git checkout newbranch2
This way, newbranch will end where it was merged into master, and you continue working on newbranch2.