Okay, so I finally found time to jump into vagrant and I must admit, I like what I see, but I can see things getting awfully messy from an organization standpoint, so what are your best tips for utilizing vagrant to its fullest?

Right now, I've created my initial vagrant vm using puphpet, and although it simplified everything for me, it makes me wonder what I may have missed. It seems, I can have it spin up a machine that installs just about anything and everything, so by putting munin in the installed packages, I can have that installed and setup for me.

What interests me most is two fold.
1) does anyone else typically like to run separate DB and Application servers? And if you do, do you setup your vagrant files to work that way (so you have to spin up two of them)?

2) All of my projects are now in git, so how do you typically share those projects with your vagrant instances? Do you just setup apache with your git repo, do you have vagrant execute a script to clone your git repo, what do you do?

And of course, what advice would you give someone new to vagrant that you wish someone told you when you first started to use it?