In this screencast I move my own personal website from my old live FTP editing ways to a proper version controlled system including deployment. I haven't had much experience with this, so forgive me if it's a bit rough.
We start by moving the live website local, including bringing all the files down and copying the database. Then we set up a Git repository in Beanstalk and push it all up to that. Then we give Beanstalk our FTP credentials and set up how we want deployment done. Then we make some local changes to our site, and commit/push them to Beanstalk, which does the deployment for us. By then end, it's all working perfectly.
If you've got questions/comments/suggestions on this workflow, I'd love to hear!
Links from the video:
- Plesk / phpMyAdmin
- ChrisCoyier.net / MediaTemple
- Sequel Pro
- Sublime Text 2
- MAMP / MAMP Screencast  
- Git Tower / GitHub Screencast
Mark Jaquith on Working with WordPress Locally (specifically, dealing with plugins and config).