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.

  • What is the most practical way to keep working on a git stash on a different computer?
  • .gitignore not working for file in subdirectory
  • Using git underneath a perforce repository - an easy way to notify perforce of changes?
  • why should I delete feature branches when merged to master
  • npm install command doing nothing
  • What git gotchas have you been caught by?
  • Thanx in advance.

  • Pod library not updated
  • Get all git branches that matches regex and split it into array
  • Git clone SSH - fatal protocol error
  • Cannot clone my bitbucket repository after doing a commit with a 3.6 GB bin file
  • Jira and git: How to get all branches reflected?
  • Git: Efficient steps to create a new branch and push to remote
  • 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.