我最近在我的机器上设置了Vagrant,我注意到的第一件事就是我的终端配置没有同步,当我进入我的服务器时。
例如我已将shell从bash更改为zsh,这为我做了很多美好的事情(比如删除区分大小写的自动完成)。但是在我的流浪虚拟机或我的服务器上,所有这些很酷的东西现在都消失了。我的重要别名之类的东西也没有同步。
现在,同步这样的东西的正确方法是什么?
编辑:
目前,当我在本地计算机上创建/删除/编辑别名时,我必须将完全相同的更改复制到我的VM和我经常使用的所有其他服务器中。我认为这是一项非常耗时且不必要的任务。
答案 0 :(得分:1)
我所做的是版本控制我的dotfiles,我把它们保存在github上。 Dotfiles只是根目录中的文件,以.bashrc或.zshrc中的点开头。它们是“隐形”文件,所以你必须使用ls -a而不是ls才能看到它们。
以下是我的dotfiles:https://github.com/aharris88/dotfiles
当我上新机器时,我只是将存储库克隆到〜/ dotfiles 然后,我在其中有一个名为setup.sh的bash脚本,它将任何可能已经在root中的旧dotfiles备份到〜/ dotfiles_old中。然后它为〜/ dotfiles中的文件创建符号链接。
如果还没有,它还会安装zsh和oh-my-zsh。它适用于linux或mac os x。
这篇文章描述了如何对dotfiles进行版本控制:http://blog.smalleycreative.com/tutorials/using-git-and-github-to-manage-your-dotfiles/
我要做的另一件事就是使用kitchenplan:https://github.com/kitchenplan/kitchenplan,它可以同步更多的设置,但这可能不是你所要求的。这是我的kitchenplan配置:https://github.com/aharris88/kitchenplan-config