使用Unix-like系统时间久了之后,一定会积累很多个人配置文件。因为涉及不止一个软件,这些配置文件实际是零零散散的散布在个人电脑的不同角落。自定义配置越多,维护的成本也越高。
如果不想在切换电脑时重新配置开发环境,clone配置是必须的。dotfiles的理念就是借助git,ln和GitHub实现个人配置的版本控制,并且可以快速的还原以往的开发环境。
所谓dotfiles,即很多的配置文件都是以.
开头的隐藏文件,比如.vimrc
。下面简单介绍其操作过程。
1. 创建GitHub工程
因为要把dotfiles托管到GitHub上面,需要事先创建一个dotfiles的Project。
2. 版本控制本地配置文件
使用git将上述的dotfiles工程clone到本地目录,然后将所有的配置文件mv
到该dotfiles文件夹下,并add
到git的工作空间。
git clone git@github.com:fooBar/dotfiles.git
cd dotfiles
mv ~/.vimrc .
git add .
git commit -m "add configure files"
3. 为配置文件创建链接
因为软件一般读取的是固定位置的配置文件,上述2中我们将其移动到了自定义的路径dotfiles目录下。为了让软件使用dotfiles工程下的配置,还需要为每个配置文件创建一个软链接,如下所示。
ln -s /path/to/dotfiles/.vimrc ~/.vimrc
当配置文件个数较多时,可以自定义一份bash脚本,实现自动创建链接操作。
4. 发布配置
经过上述步骤,所有的配置文件都已经做了版本控制,任何的改动都有迹可寻。并且通过GitHub还可以与他人分享,并接受别人的PR,共同完善同一份配置。
git push origin master
当切换到新的电脑时,我们只需要将GitHub上的dotfiles项目clone到本地,为所有的配置创建链接,即可快速的恢复开发环境。
使用dotfiles的方式管理配置脚本的优点不言而喻。由于配置文件基本均为文本文件,方便进行版本控制。dotfiles引入git,将所有配置集中在一个文件夹下进行维护,通过创建软链接的方式方便使用,再借助GitHub社区来分享和同步,大大减轻了程序员的心智负担,是一个非常值得推广的工作流程。