In git lingo, are origin
and remote
the same thing? Or does origin
refer to the local directory?
In the case of git push -u origin master
: Which of the following interpretation is correct?
Appreciate any clarification!
The answers to my question clarified two issues for me:
origin
refers to the remote repo, rather than the local cloned copy of the remote repo. This is not clear when one reads that origin
is an alias of remote
and is created at the time of git clone
origin
refers to the remote repo in git push -u origin master
because local copies of the repo are implied and "rarely referenced".In git lingo origin
is just the default name for a remote from which a repo was originally cloned. It might equally have been called source
or remote1
or just remote
.
Remember that git
is a peer-to-peer, distributed system, not one with any built-in notion of client/server, master/slave, parent/child relationships (though these might be imposed upon it by a user in a particular scenario).
All remotes are equal. origin
is simply (and literally) the first among those equals (for a cloned repo). :)
And as Jan points out in the comments, the name associated with each remote is intended for your convenience. If you find that origin
does not really work for you then you can change it.
As for your interpretations of the push
statement, your first is the closest to being correct but the push command as written will push the local master
branch to the master
branch on the remote identified by the (locally configured) name origin
.
If there is no master
branch in the remote then one will be created.
Full details of the push command and the flags, options etc are of course in the docs.
You rarely (if ever) refer to the 'local' repo explicitly since your operations are performed in the context of a repo.