无论是Ubuntu还是Fedora还是其它Linux发行版,用户的配置文件尤其是.bashrc总是一件很重要的事情,这关乎到“用户体验”。为了在不同的电脑上有相同一致的“体验”,比如说公司和家里的电脑,伟大的程序猿们想出了不少解决方案,其中homeshick是个不错的东东。用了一阵感觉良好,总结一下。
原理
homeshick把配置文件集中放在一起(~/.homesick/repos/<repos>),并用git来管理/同步/更新。
在$HOME目录下用symbol link把实际的配置文件link过来,比如说像这样:
.bashrc -> /home/<user>/.homesick/repos/dotfiles/home/.bashrc .gitconfig -> /home/<user>/.homesick/repos/dotfiles/home/.gitconfig
安装
首先,你得有git, 最好还有github帐号,这样方便维护你自己的dotfiles。
然后:
git clone git://github.com/andsens/homeshick.git $HOME/.homesick/repos/homeshick printf '\nsource "$HOME/.homesick/repos/homeshick/homeshick.sh"' >> $HOME/.bashrc . ~/.bashrc
安装完毕
使用
如果想从头开始用自己的配置文件,可以生成一份自己的repo,见下面的命令和注释
homeshick generate <dotfiles> # 生成一个repository homeshick track <dotfiles> .bashrc # 生成一个symlink,并把.bashrc添加到repo里 homeshick track <dotfiles> .xxx # 其它你想添加的dotfile homeshick cd <dotfiles> # cd到repo的文件夹 git add home # 添加到git git commit -m "Initial commit, add .bashrc" # commit git remote add origin [email protected]/<gitname>/<dotfiles> # 添加到github git push -u origin master # Push到github cd - # 返回
如果在另外一台机器上想使用刚才添加过的dotfile,(比如说家里的机器,或者新安装了系统)
首先,按上面的步骤安装homeshick
然后:
homeshick clone <gituser>/<dotfiles> # clone github上的repo, 并自动生成symlink
搞定!
其它
Check dotfiles有没有更新
homeshick refresh
在文件夹里的dotfiles,比如说vim vundle,一般在 .vim/bundle/vundle
homeshick cd <dotfiles> git submodule add https://github.com/gmarik/vundle.git home/.vim/bundle/vundle homeshick link
Q.E.D.
Notes
1) Homeshick github: https://github.com/andsens/homeshick
2) 小心不要commit敏感信息,比如密码/API key,等等。要是真不小心commit到github了,参考这篇文章: https://help.github.com/articles/remove-sensitive-data