I really like being able to deploy my current theme to production from my local environment. I can test locally and then deploy to the live site when I’m ready.
Some people like to keep all of WordPress under version control. I don’t think that’s useful unless you’re a WordPress developer. You’re unnecessarily tracking changes to WordPress and your environment. I like to keep each theme and each plugin in it’s own repository. They’re separate projects so they should get separate repositories.
I constantly go back to this great tutorial when I have to set up a bare git repository on a production server.