Git. Удаленный сервер
Как это сделано у нас:

Есть репозиторий на неком сервере.
Разработчики работают с локальными копиями репозитория (что логично и правильно).
Другая локальная копия этого репозитория является document-root для сайта.
Когда разработчики делают git push — случается чудо, потому как гит умеет хуки (hooks), которые лежат в [gituserhomedir]/repositories/[reponame]/hooks. И путём добавления пары строк в хук под названием post-commit запускается нехитрый скрипт. В нашем случае он выглядит так:
#!/bin/bash
cd /var/www-data/some_site
git checkout master
git pull
Но, в принципе, в этот скрипт можно запихать всё, что угодно.

Если сайт находится не на том же сервере, на котором живёт центральный репозиторий, то всё это нужно завернуть в ssh, разумеется.
Т.е. вам нужно только для одной локальной машинки? Тогда все просто — создаете папку, захожите в нее и с помощью git init создаете репозиторий и все… все commit делаете находясь в этой же папке. Вы больше не нуждаетесь в командах git push и git pull, потому как у вас не будет удаленных веток.