You don't want to compile code over SMB, even on a fast network. And what happens when you travel with patchy internet access? I use syncthing to a NAS, and the syncthing data being backed up by the NAS along everything else it contains.
git push nas