Comment Comment by vicaya The original git approach is still the best, which I've been using for years: # source this to clone the .files repo and setup the command #git clone --bare https://<user>@bitbucket.org/<user>/dotfiles $HOME/.files alias .f='git --git-dir=$HOME/.files --work-tree=$HOME' .f config --local status.showUntrackedFiles no .f config --local remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*' #.f config --local user.name '<User Name>' #.f config --local user.email '<user@emaildomain>' .f branch -a I maintain a branch for each os/distribution (macOS, Ubuntu, CentOS etc.) parent vicaya 4 years ago