如何保存 dotfiles
·313 字·1 分钟
工具 & 生产效率
dotfiles - 你肯定知道这个东西是什么,不然就不要往下看了
要用到的命令 alias #
# !! dotfiles !!
alias dot='/usr/bin/git --git-dir=$HOME/.mdot/ --work-tree=$HOME'
alias dotadd='/usr/bin/git --git-dir=$HOME/.mdot/ --work-tree=$HOME add '
alias dotcmt='/usr/bin/git --git-dir=$HOME/.mdot/ --work-tree=$HOME commit -a -m "dotfile commit"'
alias dotpush='dotcmt && /usr/bin/git --git-dir=$HOME/.mdot/ --work-tree=$HOME push -u origin master'
alias dotstat='/usr/bin/git --git-dir=$HOME/.mdot/ --work-tree=$HOME status'
本地初始化 #
$ git init --bare $HOME/.mdot
$ dot config --local status.showUntrackedFiles no
$ echo ".mdot/" >> $HOME/.gitignore
$ dot remote add origin git@github-fastzhong:fastzhong/mdot.git
- 建立一个方便的 git 命令行 alias,放入 .zshrc(或者 .bashrc)
- 建立一个 “Git base repository” .mdot,用这个 Git 仓库跟踪所有的 dotfiles
- “local” 和通常版本控制情况不同,默认下不显示没有跟踪的文件状态(跟踪文件必须先显式指明)
- 让 git 忽略 .mdot/,因为 .mdot/ 本身是仓库
- 加入到 Github
接下来就跟踪 dotfiles #
例如:
$ dotstat
$ dotadd .zshrc
$ dotcmt
$ dotpush
另一台电脑同步 #
安装时,也很简单,先把 mdot 仓库克隆到本地:
$ git clone --bare https://github.com/fastzhong/mdot.git $HOME/.mdot
然后重复初始化的步骤,最后 checkout:
$ dot config --local status.showUntrackedFiles no
$ echo ".mdot/" >> .gitignore
$ dot checkout