Commits in git are always done in a local clone of a repository. The idiomatic way to share changes in git is to git pull
from a remote repository to "pull in" any changes.
For example, you can clone Linus Torvalds' linux kernel repository by doing
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Then, you could regularly pull in new changes by doing
git pull
The repository is omitted here in the pull command, because it defaults to the originating repository.
If you have an interesting patch for the linux kernel, then you might make your repository publicly available by hosting it with gitosis or other software. Then you would just have to convince Torvalds to git pull
from you ;-)
Typically developers will also distinguish between their "private" and "public" repositories. You can use "git push" to push changes from your private to your public repository.