In order to create a Git branch from a commit, use the “git checkout” command with the “-b” option and specify the branch name as well as the commit to create your branch from. Alternatively, you can use the “git branch” command with the branch name and the commit SHA for the new branch.
First, checkout the branch that you want to take the specific commit to make a new branch. Then look at the toolbar, select Repository > Branch ... the shortcut is Command + Shift + B. And select the specific commit you want to take. And give a new branch name then create a branch!
If you want all the commits after revision XXX to have happened in a branch, I find this a lot easier than the other proposed methods.
$ git branch fixes # copies master to new branch
$ git reset --hard XXX # resets master to XXX
This is described in git's help page for reset
under "Undo a commit, making it a topic branch".
Of course you can. (With Git there isn’t much than you can’t do anyway. :)
git checkout -b new-branch hash-of-A
git cherry-pick hash-of-A1
git cherry-pick hash-of-A2
This will create a new branch, starting from the commit A
. Afterwards you go back to the same commit again, creating another branch:
git checkout -b new-branch2 hash-of-A
git cherry-pick hash-of-B
git cherry-pick hash-of-C
git cherry-pick hash-of-D
git cherry-pick hash-of-E
git merge new-branch
Now you simply have to merge new-branch
and new-branch2
to get the structure you want and drop your old branch.
Of course what Dustin said still holds: the hashes of the commits will change so you should only do that if you haven’t published your changes yet.
You can't do that transparently because the hashes will have to change, but you basically just need to branch HEAD and rebase -i both branches to drop the respective changes.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With