capistrano, fabric, phing, etc... Все они по сути лишь обертка для исполнения команд на удаленной машине. Для деплоя и отката действий нужно написать самостоятельный набор команд.
В большинстве случаев схема деплоя работает следующим образом:
Создается слепок текущего репозитория.
Загружается на удаленный сервер в папку /var/www/mysite/deploy_2015_01_01_00:00:01
Сам вебсервер при этом смотрит на симлинк типа /var/ww/mysite/current
Если все прошло удачно, то симлинк переносится на только что созданную папку.
Процесс отката такойже только наоборт, смотрим какие есть папки деплоев и переносим симлинк на предпоследнюю.