So I have 3 branches;
develop- my continued development branch
version_1- a release branch
version_2- a release branch
I had to do a hotfix on
version_2 to reship that version, it was a 2 line change in 2 files, very small.
I wanted to apply that fix to
git checkout version_1 git merge <commit checksum>
I thought a commit only contains the changes, so would only apply those. But the merge conflicts because it tries to update all the changes between the two branches.
Is there a way to merge/move/apply ONLY the changes in a small commit to other branches?
I could just manually re-implement the hotfix on those branches, but this seems a lot of hard work, especially as more hotfixes may need to re applied and rolled out to all other branches.
preguntado el 28 de mayo de 14 a las 11:05
Merging only one or a few commits mean using
First cancel the merge you just did: see "¿Deshacer una fusión de Git?".
git checkout version_1 git cherry-pick <commit checksum>
That can apply to multiple commits or a range of commits: see "Cómo seleccionar una variedad de confirmaciones y fusionarlas en otra rama".
cherry-pick esos compromisos.
Switch to the branch where you want to add the commits:
git checkout develop
cherry-pick the commit. First do a
git reflog y obtener el
SHA-1 of the commit of the hotfix.
Then, while you are on the branch
git cherry-pick <commit SHA obtained above>
Perform similar actions on the other branch