This is my take on making how to deploy the PHP CMS Silverstripe with Capistrano when using GIT as a versioning system.
To get this to work you should have SSH access to the remote server and possibility to install git on it.
Capistrano is really made for ruby on rails application, but a lot of other types of web applications are deployed with it, because it's so versatile. There is a fairly old though good tutorial here on how to set it up to deploy a PHP application.
Here is my recipe (deployment script) that I'm currently working on. I have some problem getting the 503 (Service Unavailable) page working and uncertain how the rollback and database dump is working.
You can find it at github Silverstripe + Capistrano + Git recipe