git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Advice on choosing git

From
NSNoah Silverman <noah@smartmediacorp.com>
Date
May 12, 2010, 06:31 UTC
Message-ID
<4BEA4B46.6010009@smartmediacorp.com>
Hi,
I'm looking for both a version control system and backup system.
Up for consideration are Git, Bazaar, and generic Rsync.

In the past, I've just use Rsync to sync up the directories I care about. I just sync all the machines with the remote server. Often, I'll start working on a file or two at the office, rsync my work to the server, then rsync them back down to my home machine to keep working at night. This works, but doesn't give me any nice VCS features, history, collaboration, etc. So clearly it is time to upgrade the system.

I work on both a laptop, and office machine and a home machine.
1) I'd like to keep my documents directory synced between the office and
home machines.
2) I'd like to keep two or three sub directories of this synced with my
laptop
3) We have a server in "the cloud" where I like to keep backups of my
documents.  Just in case.
3) I have a few project where I am the only developer, but want a VCS to
manage my changes.
4) I have 3-4 projects where there are a team of 3 of us and I want to
use a VCS.

In general, I might work on a given project/file on any of my machines in a given day. Not everything is a full "branch", but just some ongoing work. I've always followed the practice of backup up any changed files remotely, just in case. So with a VCS, I don't want a new version number for everytime I change a file. As I do incremental work across three machines, it could quickly turn versioning nightmare.

I guess, that I need just keep some files backed up (and/or synced) as they're not "working projects". I will add new documents and occasionally edit others, but no real need for versioning. Other files are working projects (possible with collaboration) and need active VCS.

I've heard amazing things about Git, but have a few concerns. Hopefully someone here can offer some suggestions.

1) Size.  THIS IS MY MAIN CONCERN - If I want to sync my home, office,
and server Document directories.  From what I have read, I will
effectively have multiple copies of each item on my hard drive, thus
eating up a lot of space (One of the "working file"and several in the
.git directory.) If I have multiple changes to a file, then I have
several full versions of it on my machine.  This could be a problem for
a directory with 100GB or more, especially on a laptop with limited hard
drive space.  I know Subversion is a dirty word around here, but it
seemed to only annotate and send the changes
2) Sub-directory selection.  On my laptop, I only want a few
sub-directories to be synced up.  I don't need my whole document tree,
but just a few directories of things I work on.

Bazaar also looks like a possible option, but I'm not sure it handles drive usage better. Their website has a lengthy manifesto about how they're better than Git, but I don't have enough experience with either to make an informed decision.

Any and all suggestions are welcome and appreciated.
Thank You,

-- Noah

Next: Dmitry Potapov
Message 1 of 13 in “Advice on choosing git”
  1. Noah SilvermanMay 12, 2010
  2. Dmitry PotapovMay 12, 2010
  3. Ramkumar RamachandraMay 12, 2010
  4. Jonathan NiederMay 12, 2010
  5. Joe BrennerMay 13, 2010
  6. Avery PennarunMay 13, 2010
  7. Matthieu MoyMay 13, 2010
  8. Avery PennarunMay 13, 2010
  9. Anthony W. YoungmanMay 19, 2010
  10. Avery PennarunMay 19, 2010
  11. Matthieu MoyMay 13, 2010
  12. Jeff KingMay 13, 2010
  13. Martin LanghoffMay 13, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.