用git来管理dotfiles

5/2/2019 #git #shell

1 使用只包含*的.gitignore

在$HOME里新建git项目,初始化一个只包含*的.gitignore,然后依次手动添加想要管理的配置文件

git add -f .bashrc
git add -f .vimrc
git commit -m "init"

使用时只需要 缺点是整个$HOME都会变成一个仓库,好在用起来方便快捷

cd ~
git init
git remote add origin [email protected]:user/dotfiles.git
git fetch
git checkout -f master

2 利用--git-dir和--work-tree

这个方法的原理是利用上面两个选项把git仓库和工作目录分开,新建$HOME/.dotfiles文件夹作为git仓库,然后把工作目录设成$HOME,不过每次运行git命令时都要补全下面的选项

git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME

不过可以把它设成alias

alias dotfiles='git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'

dotfiles代替git

dotfiles status
dotfiles add .bashrc
dotfiles add .vimrc
dotfiles commit -m 'init'

缺点是在新环境下配置稍微麻烦一点