git remote add. git push origin master

What exactly do these mean?

Briefly:

1. git remote add origin git@github.com:snowcrash/my_app.git

git works locally but to connect to other repositories (or repos) it uses the term  remote which are repos on other servers that you can push your changes to (so other people can see them) or pull updates (from other people).

This command creates a new remote called origin (by convention but could be something else) which is located at the github URL (again, it could be another server) called git@github.com:snowcrash/my_app.git.

2. git push origin master

OK, so you’ve defined a new remote called origin. This command simply pushes your master branch to this server.

Note: in future, you just do:

git push

to push your master branch to origin. This is because:

– if no remote is specified, the remote of the current branch is used. If that’s not set up then origin is used

– if there’s no refspec specified (i.e. master, some-branch) then git pushes every local branch that has the same name as the branch on th remote.

To avoid accidentally pushing other branches it’s a good habit to use the full version, i.e. 

git push origin master

despite it being a bit longer.

Seeing these settings:

1. All of this information is stored in your local git repo in this file:

.git/config

e.g. details of your new remote will be on the line following:

[remote “origin”]

2. Also, you can use the following to list your remotes:

git remote

and to see the URL that git has stored for the short names:

git remote -v 

To find out more information about a remote:

git fetch origin

This fetches all the data about that remote project that you don’t have.

For more information about this remote:

git remote show origin

This lists the URL for the remote repo as well as the tracking branch information.

Finally, you’ll want to be able to pull from the remote. Just use:

git pull

The git book is here:

http://git-scm.com/book/ch2-5.html

which contains lots of useful examples including how to remove and rename remotes.

There’s also a great post here:

http://stackoverflow.com/questions/5617211/what-is-git-remote-add-and-git-push-origin-master

Leave a Reply

Your email address will not be published. Required fields are marked *