I settled on using VCS for synchronization between my laptop and main computer. At that time, I liked bzr very much, so I used it. The workflow was simple - on main machine I had a script, which detected the appearance of laptop nearby and executed following steps:
- bzr pull
- bzr update
- bzr push
- ssh to laptop, update the repo there
Now, I slowly moving towards git - not the last reason for that is Github and git's superior speed. But I failed to set up the same workflow with git. First, it refused to push into checked-out repository - I solved that with receive.denyCurrentBranch = "warn", and doing git reset --hard. But this way, I lose any changes that I made on my laptop, if they were not commited. I tried using "git reset --merge", but (unlike bzr) it refused to merge some of the conflicting files.
Is there a way to solve these problems with git?