Git and version control are some of the wierdest and funnest things I’ve been introduced to. I love the idea of taking continuous snapshots of the small steps of my work, and then being able to sift through them and pick the ones I want. I think I’m still at a fairly basic level, but within that context, I’ve learned so much!
Remote repositories are basically copies of your git repo that are not stored on your hard drive. This seems kind of obvious, but didn’t really click for me until I learned that you could have as many remote repositories (remotes, for short) as you want!
Step 1: Take a look at the remote repositories you already have.
git remote -v
You will see a list that looks something like this:
origin https://github.com/cglinka/urdb-1.git (fetch) origin https://github.com/cglinka/urdb-1.git (push)
Or like this, if you have multiple remotes already set:
mks https://github.com/makersquare/urdb.git (fetch) mks https://github.com/makersquare/urdb.git (push) origin https://github.com/cglinka/urdb-1.git (fetch) origin https://github.com/cglinka/urdb-1.git (push)
You can see the remote name (or ‘alias’, if you want to get technical about it) followed by the URL that actually describes the location of each remote repository.
All of my remotes are on GitHub, but you can have remotes on other servers, or so I’m told. I have not tried to set up my own git server yet. :D
NOTE: The repo you clone from and/or the first remote you add will by default be called your origin. So when you are reading tips and tricks about Git, origin is just your ‘default’ remote alias, which may or may not be true for your particular repo. This may or may not cause a lot of confusion and/or frustration, but checking your remote names/aliases will save you a lot of troubleshooting time.
Step 2: Add a new remote.
git remote add <ALIAS> <url>
Fill in ALIAS with the name you want to use to access that remote. You can’t use origin if you already have an origin assigned. I try and give them easy-to-remember names based on the GitHub username. For the last several weeks, we’ve been working on the same repos in class, with new branches every day for that day’s lesson. Instead of making a million folders with a million copies of the same repo, I added a second remote as ‘mks’ that pointed to the correct repo on the makersquare account so I could just update my local copy of the repo every day! I added a third remote that pointed to my partner’s repo of the same assignment.
Step 3: But I want to change the remote that origin points to!
It’s cool, you can do that! First, remove the current origin:
git remote rm origin
Then, check make sure you removed the origin:
git remote -v
Last, add the new origin;
git remote add origin <URL>
And just to be sure, check your remotes again:
git remote -v
Ta-dah! New origin added!