I'm sure a lot of people have this problem. You code on one computer, then want to pick it up on the next computer.<p>Yes, we could use Git and Github to do pull requests, but there is a lot of stuff I put in my gitignore file that would just be nice to have synced across (like bower components).
I had to take this one step further and actually use dropbox as a deployment mechanism. I was working for a government department and could not get remote access to the servers. This meant a one hour drive each way anytime I had to make a change to the code. I couldn't test, get updates to the data model, deploy or even check that the server was up without driving two hours.<p>This wouldn't have been bad if I could have spent a day out of every 5-7 at this clients offices which is what I did do for the first few days getting their very simple data services setup. However, after initial development there were many configuration changes and problems with their data and network that meant I was hopping in my car to spend ten minutes changing a line in a config file.<p>I couldn't install remote desktop software or get access to the right machines over their VPN, but I did convince the sysadmin to let me install dropbox on the web server. I simply setup a deployment profile that pointed to my local dropbox folder on my dev machine and when I needed to push changes I would just build against that config and deploy to the dropbox folder. A few seconds to a minute later I could reload the clients web page and see my changes.<p>The actual setup was somewhat more complex than this. I had to configure dropbox to run as a service so it continued to run even when my user was not logged in and I took some extra security precautions with the dropbox user permissions.
I previously used Dropbox to sync my code (in addition to having it on Github).<p>But once, it had some sort of a conflict and simply replaced some of my files with incorrect versions when I edited on another PC while forgetting to run sync on previous PC (my mistake). I freaked out and stopped the practice because I felt like Dropbox does not handle conflicts well.<p>I use OneDrive for syncing my projects folder now. Haven't faced any problems yet (apart from OneDrive changing permissions on all my files). However, I treat this strictly as a secondary backup in addition to Github.
I've moved my personal working source-dir to Dropbox, and symlinked it to ~/src on both my computers (in addition to my editor's workspace and session files, amongst other things).<p>It has worked like a charm in my case, though the odd conflict does occur when changing very quickly back and forth between keyboards. I've also experienced some sync failures when rapidly changing lots of small files, but this can be remedied by pausing and resuming sync.<p>Though I've been doing this for years, I have never experienced any bigger problems that I were not able to fix with a quick rollback via Dropbox' web interface.
I do this, but be aware, it's mainly for going from my office computer to my home computer. I don't know if it would suffice if I were using two computers at nearly the same time. Dropbox takes at least several seconds to sync files, longer for big ones, so if you're literally going back and forth between two keyboards you may need to wait for Dropbox to catch up.
I mostly write small 1 file python, PowerShell scripts along with some VB.Net utilities. I just save my work in my drop box and I'm able to work on them on any computer. Works pretty good for small projects that you're working on alone. I should figure out git one of these days I suppose.