I did a rebase --onto
to move a previous commit (c4) from master to a feature branch. But I had already pushed master to the remote origin.
So currently now I have
c1 - c2 - c3 - c5(master HEAD)
\
c4(feature HEAD) - c5(origin/master HEAD)
I realize that fixing this will screw up anyone who has pulled in changes from origin/master. But there is only one other developer so this is not that much of an issue. How do I change origin/master so it's not after the feature branch. I'd like it to be this:
c1 - c2 - c3 - c5(master HEAD)(origin/master HEAD)
\
c4(feature HEAD)
In order to switch to a remote branch, make sure to fetch your remote branch with “git fetch” first. You can then switch to it by executing “git checkout” with the “-t” option and the name of the branch.
Using the git checkout Command The git checkout -b <BranchName> command will create a new branch and switch to it. Moreover, this command will leave the current branch as it is and bring all uncommitted changes to the new branch.
Use a forced push from master to origin/master:
git push origin master:master --force
The other developer will need to reset
his master to the remote master afterwards (preferably a hard reset after saving his work):
git fetch origin
git checkout master
git reset --hard origin/master
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