Любая VCS, самая популярная сейчас - git. Есть SAAS под это дело: gihub.com / bitbucket.com. Можно у себя поднять gitlab (не путайте с github), или bitbucket.
А как себя защитить ? Вдруг они с меня то денег потом возьмут и код и все наработки оставят у себя
Стоит разделять ваши внутренние проекты и те, что отдаете на аутсорс. По хорошему проекты фрилансеров стоит выполнять в отдельном таск менеджере И отдельных репозиториях.
git push --force
Стоит запретить. В ветку master ваш программист вливает изменения только после кодревью.