Git
Keeping tack of your files is important. Keeping version of them is hard as it creates a disorderly mess. Git handles this for you. Running your own instance is a fun way to share and collaborate with others. But while using existing services is easy, you cannot guarantee your files safety. Hosting is pretty tricky, but not that difficult if you know how to do it.