Linux Dotfiles究极管理

今天终于遇到了dotfiles这个概念,并且顺利找到了管理dotfiles的方案,下面将关键步骤贴下,或可见原文

创建dotfiles repo

其基本原理是创建一个bare仓库,然后通过每次指定repo来添加在不同位置的dotfiles以及其它一些git技巧来达到版本控制的目的,当有多台主机有不同配置或者要进行配置迁移时,都十分有用。下面是创建bare repo以及添加alias的命令:

git init --bare $HOME/.cfg
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
config config --local status.showUntrackedFiles no
echo "alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'" >> $HOME/.bashrc

完成上述步骤后便可以通过下面使用config add xx这种方式来进行文件版本控制

config status
config add .vimrc
config commit -m "Add vimrc"
config add .bashrc
config commit -m "Add bashrc"
config push

恢复dotfiles repo

下面介绍从dotfiles repo中将dotfiels恢复到新的PC中。注意,下面方法要求删除原有dotfiles,可以先备份再进行操作,原文提供了一种批量操作的方法,但这里就不给出了。

git clone --bare <git-repo-url> $HOME/.cfg
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'    # 也可像上面那样用echo将其添加到bashrc中
config config --local status.showUntrackedFiles no
config checkout    # 若词句报错请备份/删除新PC上原有dotfiles再进行操作即可

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.