My dotfiles managed as bare git repository. You can read more here.
Clone the repo
git clone --bare https://github.com/euav/dotfiles.git $HOME/.dotfiles
Checkout at home
alias dotfiles="git --git-dir=$HOME/.dotfiles --work-tree=$HOME"
dotfiles checkout
dotfiles add .some_config_file
dotfiles commit -m "Add .some_config_file"
dotfiles push