Can Git push / pull over the internet to distributed repos?

I understand that Git can be used without a central repository. However, I am starting a project with several other people, and we are geographically distributed. I.e. We will never be on the same LAN to synch repos.

So my question: Is it possible to push / pull changes from each others repos over the internet? If so, how do I go about it? Easiest non-fuss way.

  • How to switch back to 'master' with git?
  • Undoing a git bisect mistake
  • How to rollback everything to previous commit
  • How to commit on master branch DB related code?
  • How to git rm files that are on remote origin but not in local?
  • Pygit2: Why does merge leave branch in an unclean state?
  • Thanx in advance.

  • Firedrill: Recreate central git repository from developers clones
  • How to use Github Pages with Dependencies?
  • How can i configure a project in gerrit using pygerrit2 GerritRestAPI
  • Git gist - Markdown does not work
  • What are the conceptual differences between Merging, Stashing and Rebasing in Git?
  • How to stop merging in git?
  • 4 Solutions collect form web for “Can Git push / pull over the internet to distributed repos?”

    If you have SSH access to each others’ machines (which may be a little easier to set up on some networks than git:// protocol access) then it’s as easy as:

    git pull ssh://username@host:/path/to/repository/.git

    If direct access by any protocol isn’t possible (e.g. if you’re behind a router with NAT) then you can always send each other patches.

    But Git has another way of doing this, git-bundle, which lets you send a file (via email, or however else you send files) to your collaborators which can be pushed and pulled to and from like a repository. The author of Pro Git has a blog post tutorial on this.

    If you can ssh to each others’ computers, you can do git push/pulls to each other’s computers. However, it’s not really recommended to have a completely peer-to-peer repository. One of you should maintain a “bare” repository that everyone synchronizes with, otherwise you will run into strange and annoying situations when you push to a repository that someone else is working on.

    It’s really probably best to use github, unless you are working on something closed-source and can’t afford the fees for private repositories.

    You need some kind of “direct” not-nat-ed connection (meaning if you are behind a router it is a problem). If I were you I’d go for github

    The help section explains everything nicely.

    I would suggest using a central repository location that you can all push and pull from via ssh. This will prevent the issue mentioned above that are caused by pushing to a repo someone is working in.

    See this link for good setup info:

    Git Baby is a git and github fan, let's start git clone.