Version controlling courses and activities within Moodle is an issue that comes up a lot, at OSL we've built a product to handle it properly. Automatic or manual tracking of all changes at a course or activity level with the ability to view the changes sets, compare to the latest version and download a Moodle backup at any given point.
https://www.opensourcelearning.co.uk/moodleversioncontrol
I'd love to know if anyone has any feedback.