I'm not a professional programmer, but I do some small solo projects and I would like some versioning and syncing, but going through the process of remember to commit and checkout (on different computers) is more of a hassle than, say, keeping code in a dropbox folder that automatically uploads to the cloud upon file change. Using the current copy is completely transparent to me, but there is no versioning. (Syncing is also a pain because I often don't open my laptop for days after getting home.)
Is there a way to have a codebase automatically commit upon file change (or just every few minutes) and automatically download the latest version if I want to continue my work from another computer?
Thanks!
So what I ended up doing was using cloud sync for synology, (but I was using btsync in the past) to sync my code bases between several computers. This creates the immediate 'auto-sync' feature I was looking for and it's completely transparent to me. (This also takes care of the problems with having bloated auto-commits as mentioned above) This way you get versioning and auto-sync (or be forced to commit daily, or worry about having to commit when you need to leave your computer, or have to deal with any commit errors that come up before you close your laptop, or most of all have to rely one's fallible memory to remember to commit daily (big one for me!)). One SHOULD NOT be using git to sync (git is meant to version points in time, not sync). Note: just watch how you sync your .git folder so you dont break your work on one machine from the other via sync. If you blacklist .git, you can still clone the repo and push from either machine (but still not break things by syncing .git from one to the other).