使用 Git 管理 Dotfiles
本文基于 Storing dotfiles with Git - This is the way
git init --bare $HOME/.dotfiles
Bare 仓库需要一个工作树(work-tree)和 git 目录(git-directory)。
git --git-dir=$HOME/.dotfiles --work-tree=$HOME status
--work-tree
:声明仓库需要追踪的文件地址在 $HOME
中。
为了简便可以添加别名:
```bash
alias dotfiles="/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME"
echo "alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME'" >> $HOME/.bashrc
# 添加到 bash 配置
使用 git 管理 dotfiles
dotfiles add ~/.config/polybar
dotfiles commit -m "added polybar config"
dotfiles push origin main
查看仓库文件状态
dotfiles status
为了不显示没有追踪的文件,使用以下命令:
dotfiles config --local status.showUntrackedFiles no
迁移到新设备
未验证
git clone --bare https://github.com/<username>/dotfiles.git $HOME/.dotfiles && source ~/.zshrc
历史记录
# To check the version history
dotfiles log
# To checkout to last working version
dotfiles reset <commit-hash> --hard/soft
关于 push 到远程仓库
默认仓库名称可能需要更改
dotfiles branch -m main
添加远程仓库
dotfiles remote add origin https://github.com/<username>/dotfiles.git
dotfiles branch --set-upstream-to=origin/main main