3

I have downloaded Git and SmartGit and it seems to run well locally. We are several members in the team and we want the source in house. Currently we use Starteam but I want to move away to a more modern rcs system like Git. Is there a simple guide how to synchronize code between team members ? I assume there must be a code repositionary that "decide" what version is right.

Any hints?

Roland Bengtsson
  • 5,058
  • 9
  • 58
  • 99

4 Answers4

5

There are many ways to set up a shared Git repository for your team. Using Github is one of these ways, but costs some money (for a private repository; public are free).

Normally what you would is set up a Git "bare repository" that you and your coworkers can access. The Git book has a good section on Setting Up a Private Repository.

Greg Hewgill
  • 951,095
  • 183
  • 1,149
  • 1,285
2

You do not need a github repository in order to share among team members, but it certainly makes life simple. On github, you can designate that a repository is "private" and thus control sharing with other github members. I believe you may have to pony up a couple of bucks a month for this capability.

You can also do clones/pulls/etc from a team member's machine directly.

mharper
  • 3,212
  • 1
  • 23
  • 23
2

You can also use specialised git server like Gitosis or https://github.com/sitaramc/gitolite (if you need fine grained access control)

XANi
  • 185
  • 3
2

Since you have concerns of using git on a windows server (as indicated in your comment to Greg's answer): I'm using a bare git repo on a windows server and work on a windows workstation (msysgit, tortoisegit, access via //hostname/share/to/bare.git) and several linux VMs (access via ssh://hostname/path/to/bare.git) without any issues regarding git except one minor problem:

msysgit 1.7.3.1 (running on the windows workstation) lacks one perl module (can't remember) that is needed for git svn (compressing old stuff). If you're not planning to use git together with svn, that doesn't matter to you.

To answer your question: I think, using an inhouse (bare) git repo that can be accessed by your team should be enough. Give it a try: set up the bare repo (see this post), adjust the directory permissions for your team and you're done:

Fire up a git console on one client machine and do

git clone //hostname.domain/share/to/bare.git D:/workdir

That should be fine for you. But the tradeoff of having the sources on a local system is that you have to administer the system.

However, if you want to use the features of github one day, take your repo and push it to github.

Community
  • 1
  • 1
eckes
  • 64,417
  • 29
  • 168
  • 201