Manage dotfiles with git using a bare repository and shell alias.
Based on information on various proposals:
- https://news.ycombinator.com/item?id=11070797
- https://fwuensche.medium.com/how-to-manage-your-dotfiles-with-git-f7aeed8adf8b
- https://www.atlassian.com/git/tutorials/dotfiles
git init --bare $HOME/.dotfiles
Create alias (add to .bashrc or .zshrc)
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
Hide untracked files
dotfiles config --local status.showUntrackedFiles no
dotfiles add .bashrc
dotfiles commit -m "..."
dotfiles remote add origin <URI>
dotfiles push origin main
git clone --bare <URI> $HOME/.dotfiles
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
dotfiles checkout --force
dotfiles config --local status.showUntrackedFiles no