1. Создать на сервере репозиторий:
$ ssh servername
$ git init-db --bare myreponame
2. Сделать клон репозитория локально:
$ git clone servername:myreponame
3. Сделать так, чтобы по push в серверный репозиторий автоматически синхронизировался рабочий каталог:
$ ssh servername
$ cd myreponame/hooks
$ cat > update
#!/bin/sh -e
refname="$1"
oldrev="$2"
newrev="$3"
gitdir=`pwd`
if [ "$refname" = «refs/heads/master» ]; then
tmpdir=`mktemp -d`
cd "$tmpdir"
git \
--git-dir="$gitdir" \
archive --format=tar "$newrev" | tar x
rsync -a --delete-after "$tmpdir/" /var/www/что-там-надо/
rm -rf "$tmpdir"
fi
exit 0
4. Не забыть сделать этот скрипт исполняемым:
$ chmod +x update
5. Делаем первый коммит: на локальной машине заходим в репозиторий и делаем:
$ touch test
$ git add test
$ git commit -m 'test' test
$ git push
6. Проверяем что у нас получилось в рабочем каталоге, радуемся жизни