I've made a feature branch from master and then realize at some point that it will be better to start a new branch from this branch.
So, how to split a branch in two at a specific commit ?
Let me explain with this little schema:
I have this:
master ───●──●──●──●──●──●──●──●──●──●
\
\
feature ●──●──●──●──●──●──●
▲
│
split here
and i wish this:
master ───●──●──●──●──●──●──●──●──●──●
\
\
feature ●──●──●──●
\
\
feature-test ●──●──●
The first step is to create feature_test where feature is:
git switch -c feature-test feature
But you also need to reset feature to <sha1 split here>:
git switch -C feature <sha1 split here>
Note that if you already pushed feature, you will need to do a git push --force.
And that might prove inconvenient for other collaborators who might already have pulled from origin/feature.