Jacques Bosch
Jacques Bosch

Reputation: 2264

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.

Thanx in advance.

Upvotes: 6

Views: 2296

Answers (4)

Ben James
Ben James

Reputation: 125147

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.

Upvotes: 12

Alex Unger
Alex Unger

Reputation: 180

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:

http://toolmantim.com/thoughts/setting_up_a_new_remote_git_repository

Upvotes: 2

Tyler McHenry
Tyler McHenry

Reputation: 76660

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.

Upvotes: 5

Ronny Brendel
Ronny Brendel

Reputation: 4845

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.

Upvotes: 3

Related Questions