1

I plan to install a basic git server. The point is to, somehow, centralize projects development.

However, the computer where I would like to do this isn't that great. I have no more then a few gigabytes available.

Does this make sense?

  • Each workstation will have their own git instalation and their own copy of project files.
  • They connect to the repository server via ssh;
  • The server will have only the repositoty information about the project.

Is this ok?

Edit: - It can be server-less if possible. The main point is, however, to allow everyone (3 persons uhh) to work on the same project. I'm a bit lost here... :)

MEM
  • 30,529
  • 42
  • 121
  • 191
  • 1
    you *could* go without central server but this isn't what you want. The central server approach is ok. Otherwise, you have colleague A pulling from colleague B and pushing to you and that stuff. Nobody can handle that. I'm using a central repo even for projects where I work alone (notebook, desktop have non-bare repos, central repo is bare, so I have three boxes with the full repo -> nothing will get lost) – eckes Feb 22 '11 at 19:02
  • eckes: the main issue here is, in fact, that of find a way to make all team members programmers AND designers, to work with git. That being said, big files should play a role. The accepted answer offered a solution, but it seems quite complicated to implement. – MEM Feb 25 '11 at 18:26

3 Answers3

4

If you set a "central" git repository server, then that server will have bare repositories only (because of push restriction), meaning:

  • not all the files
  • but only a compressed version of all the history of those files.

The space taken by those bare repos isn't that important if you are dealing with sources (text files).
But if you have, as a webapp designer, many binaries (mainly pictures), then you need to externalize them in another storage, while keeping your git repos in your central server.

The current solution is git-annex.

Community
  • 1
  • 1
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • so complex for something that should help us out. :( If that's the only way... oh well... :) – MEM Feb 25 '11 at 18:24
1

Not entirely sure what you are asking but.....

Git is a distributed version control system (dvcs), so where you have a repository you have all the files and all the history for the entire repository.

IMHO in a commercial development environment, it makes sense to have central repository from which official builds can be made, then your developers can push and pull into that repository or a "gatekeeper" can collate changes from your developers and push into the central repository.

Perhaps look at gitosis, gitolite, github

Peter Farmer
  • 9,020
  • 5
  • 27
  • 29
  • So... the server where the projects should reside, needs to have A LOT of space for hosting all those projects files, correct ? (I'm thinking also on the designer side of webapps where big files can be in place here...) – MEM Feb 22 '11 at 17:05
0

You can use a program like gitosis for that. And this is indeed a common setup.

filmor
  • 30,840
  • 6
  • 50
  • 48
  • One of the developers IS NOT over our LAN. According to your given source setup, could we allow such an access? – MEM Feb 22 '11 at 17:22