My current setup (syncing between home and work laptops) is to auto-save files every few second in emacs, and "git pull; git commit -am `date`; git push" every few minutes in a cron. Works like a charm.
edit: I also do "git add * .org; git add * .org_archive" inside the org folder before the commit, in the same cron job.