Если на втором сервере нет отдельного git-репо, я бы экспортировал файлы из архива:
git checkout-index -a -f --prefix=/target/path/
, а затем использовал sftp для синхронизации с удаленным сервером:
#!/bin/bash
HOST="ftp.example.com"
USER="user"
PASS="pass"
LCD="/var/www/yourdir"
RCD="/www/"
lftp -c "
#debug;
open ftp://$USER:$PASS@$HOST;
lcd $LCD;
cd $RCD;
mirror --only-newer \
--reverse \
--verbose \
--exclude-glob somepattern ";
Вы можете автоматизировать этот процесс в виде сценария сборки (например, Phing), а наша привязка - в качестве ловушки git после фиксации, как это уже упоминалось ранее.