Here's my idea (which I'm currently testing as we speak): I just got a new macbook pro to use on the road, but I now have the problem of keeping it in sync with my main iMac easily. I'm very familiar with git and just see it as much easier to use and manage than other utilities such as rsync because I can really see what the changes I've made are. I know git was not aimed and syncing these types of files but my idea was to init a git repo on the root directory of both computers, then create a bare directory on an network drive to act like my local github. I could then push and pull to this remote directory from both computers and maybe even setup tunneling so that I wouldn't have to be on the local network to sync. Besides Git not being aimed at this type of work are there any other problems with this that can be foreseen? The initial commit and push will probably take forever but I feel that generally after that the time won't be too bad since git has such a good track of what files change. Just to put it in perspective, I initialized the git repos on both machines and ran a git add -A about 5 minutes ago and its still running. Just wondering what other people's ideas about this are and if its ever been tried before. Thanks, Bryan
-
3Why oh why would you include the *entire operating system*? Why not just [version control your home directory](http://tensixtyone.com/perma/the-version-controlled-home-directory)? – user229044 Aug 20 '12 at 02:16
4 Answers
Look into RSync unles you need version control. http://en.wikipedia.org/wiki/Rsync

- 3,758
- 4
- 22
- 33
-
Rsync only copies modifications one way. The OP probably wants changes on the iMac to be copied to the MBP, and vice versa. – echristopherson Aug 20 '12 at 18:51
If you can wait just a little bit, here's the perfect thing for you: http://www.kickstarter.com/projects/joeyh/git-annex-assistant-like-dropbox-but-with-your-own

- 1,336
- 11
- 30
Files in your macbook and iMac are not same. lots of system files are different and may use the same file path. you'll end up ignoring a great many of system files, temporary files, hardware dependent files. and you are dealing mostly with binary files, which can't be diff'ed as text files. so all versions are stored in the git repo, not the delta. your git repo will grow super fast in size.
my recommendation is get yourself familiar with rsync
, write the sync script, and perhaps set up a cron job for that. then you can basically forget about it and make small changes to parameters over time.

- 2,254
- 2
- 26
- 31