Is it the name of the remote repository?
No, it is an alias for the url of the remote repo you want to push to.
The default name is origin (used when you said git push without any parameters)
If it is then what is it when we create a new repository in github?
No: that url can actually reference a (yet) non-existing repo. It is a local data.
what is 'NewRepository'?
It is the name of a new repo you can create whenever you want on GitHub.
You can reference it locally (with a git remote add) in your repo.
But if you try to push without having created the repo on GitHub, then (and only then) the push will fail.
See also "Why do I need to explicitly push a new branch?": even if you name your remote 'origin', you will still have to type it on the first push:
git push -u origin master.
Only after that first push will you be able to type git push
, and git will push the current branch to origin
.