今天刚打开终端,系统提示更新oh-my-zsh,但是由于我之前把这些乱七八糟的配置全部放到自己的dotfiles里面了,系统默认是更新不了的。

好吧,我偷懒了,之前弄dotfiles的时候没有用到git submodule,而是直接采取暴力。。copy文件。

今天总算花了点时间把dotfiles更新一下,顺便把oh-my-zsh作为git submodule处理。

至于什么是Git submodule,这里就不多废话了,简单一句话就是: Git Submodule可以把别人的git repo放到你目前git repo的任意位置。

所以我现在做的就是: 把oh-my-zsh这个repo,放到我的dotfiles下面的oh-my-zsh目录。仅此而已。

开始

$ cd ~/.dotfiles/
git submodule add https://github.com/robbyrussell/oh-my-zsh.git oh-my-zsh
…
… 完成后,查看status会发现

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD ..." to unstage)
#
#       new file:   .gitmodules
#       new file:   oh-my-zsh

然后 $ git add . $ git commit -m ‘add submodule’ $ git push

搞定。

PS:如果是手动修改了.gitmodules文件,则需要

$ git submodule init 来告诉git你添加了submodule

最后一步,修改zshrc文件

ZSH=$HOME/.dotfiles/oh-my-zsh

搞定。

我的dotfiles https://github.com/henter/dotfiles 欢迎fork ~

里面包含了我自己用的如:

vim配置
oh-my-zsh
zshrc
鼠须管输入法
sublime主题
部分nginx配置
goagent启动文件

反正各种乱七八糟,慢慢完善。