Copying a commit from one branch to another
suggest changegit cherry-pick <commit-hash>
will apply the changes made in an existing commit to another branch, while recording a new commit. Essentially, you can copy commits from branch to branch.
Given the following tree (Source)
dd2e86 - 946992 - 9143a9 - a6fd86 - 5a6057 [master]
\
76cada - 62ecb3 - b886a0 [feature]
Let’s say we want to copy b886a0
to master (on top of 5a6057
).
We can run
git checkout master
git cherry-pick b886a0
Now our tree will look something like:
dd2e86 - 946992 - 9143a9 - a6fd86 - 5a6057 - a66b23 [master]
\
76cada - 62ecb3 - b886a0 [feature]
Where the new commit a66b23
has the same content (source diff, commit message) as b886a0
(but a different parent). Note that cherry-picking will only pick up changes on that commit(b886a0
in this case) not all the changes in feature branch (for this you will have to either use rebasing or merging).
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents