对于命令行重度依赖的开发者来说管理命令行的这些配置文件是比较头痛的问题,每次重新安装或服务器部署的时候都要拷贝文件重新配置,现在可以借助git来管理这些配置文件,通过写一个shell或则ruby的脚本即可实现,下面介绍具体实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/usr/bin/env ruby safe_mode = ARGV.include? '--safe' linkables = Dir.glob('*{.symlink}') linkables.each do |linkable| file = linkable.split('/').last.split('.symlink').last unless safe_mode and File.exists?("#{ENV['HOME']}/.#{file}") %x(ln -s -i -v $PWD/#{linkable} ~/.#{file}) puts ".#{file} linked" if safe_mode end end # copy .vim folder into $HOME/ %x(cp -r $PWD/.vim $HOME/) |
alias pull-dotfiles='pushd $HOME/Documents/dotfiles && git pull origin master && ./link-files.rb --safe; popd' alias push-dotfiles='pushd $HOME/Documents/dotfiles && git add -A && git commit -m "Update dot files." && git push origin master; popd'
别忘了 $source ~/.bash_profile
$ ./link-files --safe
要看详细的代码和配置可以看我在GitHub上的代码dotfiles