Today I wanted to move my
metruzanca/metruzanca.github.io to a different repository for two reasons:
- First, so that I could host my portfolio without all my other gh-pages defaulting to
- I don’t like master being the only folder allowed for gh-pages and instead having a dev repo in place of master.
So I decided to move clone my repo and then push it to a new repository
After pulling i needed to rename a few things:
master -> gh-pages dev -> master
Renaming a branch locally is easy enough
git checkout old_branch_name git branch -m new_branch_name
I Initially thought that would be enough, but when i pushed to the new repo i noticed that when using commands like
git status that the now gh-pages branch was still referencing origin/master (which was now a different branch aka what was origin/dev).
As you can imagine this, will create some havoc. So I realized that i needed update the upstream reference.
This is also easy enough
git push origin -u branch_name
For those curious, the -u flag does is the same as the —set-upstream flag. Which should look more familiar if you’ve ever run
git push without specifying the origin name and remote branch. Git will be helpful and give you a copy-paste command to set the remote reference for that branch so that you can then use git push in the future while on that branch.
# Checkout the branch you wanna rename git checkout old_branch_name # Rename the branch git branch -m new_branch_name # Update the upstream reference git push origin -u branch_name