I am currently trying to understand the concept of Vargrant and Git in regards to completely adopting a new paradigm in workflow.

At the moment I run 4 WordPress websites on digitalocean. I develop using the more traditional (shameful) workflow: ftp. In fact, I often find myself testing new features on production VM with out a fool proof way to undo. 

I understand the benefits of Vagrant, I am confused, though, on how it fits into a legitimate workflow.

This is my limited understanding:
I spin a local Vagrant Box, develop my app, use git to push to my production server.

I don't understand:
If I change configuration files, install additional software on my local Box it doesn't reflect in production VM automatically. I have to make note of changes that I make on this end and repeat on the other end. I am sure I am not fully exploiting the powers of vagrant and git.

Is it possible to duplicate your exact production Virtual Machine on to your local computer and actually sync the two with git? How would you describe a birds eye view for a minimum functioning workflow using Vagrant and git to achieve optimal productivity?