A bare repo resembling your
$HOME
Clone to a temporary directory:
git clone --separate-git-dir=$HOME/dots.git \
https://github.com/mvllow/dots.git \
dots-tmp
Copy working tree snapshot to the home directory, then delete the temporary directory:
rsync --recursive --verbose --exclude '.git' dots-tmp/ $HOME/
rm -rf dots-tmp
Optionally, add an alias to use git with this new structure:
alias .git='git --git-dir=$HOME/dots.git/ --work-tree=$HOME'
Optionally, hide untracked files—you will have to manually add new files:
.git config --local status.showUntrackedFiles no
Change upstream from https to ssh:
.git remote set-url origin [email protected]:mvllow/dots.git