I have not been able to figure out after much trying. I have two local branches, master and tests. I have two corresponding remote branches with the same repo, origin/master, origin/tests. I have another remote branch public/master. I have some pushed in commit history on both local master and remote origin/master. Now, I want to squash all the commits of origin/master and push into the remote branch public/master. I can't figure out how to do it.
I have tried doing rebase on a new local branch but it didn't work.
Reset to your first commit, then amend, finally force push.
git pull origin master
git checkout master
git reset --soft <my-first-commit>
git commit --amend -m "New commit message"
git push public master --force-with-lease
If the last command gives a "stale info" error, either
git fetch public master before the last command, orgit push --force-with-lease public +master instead of the last command. You can find your first commit like this:
git rev-list --max-parents=0 HEAD
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