Linux下,使用Git管理 dotfiles(配置文件)
1、管理你的 dotfiles
作为一个计算机深度使用者,并且长期使用 Linux 作为主要操作系统,折腾各种功能强大的软件是常有的事儿。这些软件有它们各自的配置文件,通常以 . 开头,因此有人管它们叫 dotfiles 。一旦 dotfiles 的数量增多,并且所在的位置不同,怎样合理有效的管理它们是一个问题。
一个简单的方法是:将所有配置文件统一丢进一个文件夹,用 git 进行管理,用 ln -s 链接到原来的位置(比如家目录下)。
我在这里推荐一个命令行脚本——dotsync ,它可以将上面的方法更加简化,并且在不同机器上进行同步。怎样使用?你可以参考一下我的 dotfiles 。
2、dotsync 的使用
第一步,将 dotsync 克隆下来,在家目录下创建一个 Dotfiles 文件夹(名称任意),把 dotsync 中的配置模板 dotsyncrc 文件复制进去。
第二步,把所有需要管理的 dotfiles 复制到 Dotfiles/ 目录中(例如 .vimrc, .zshrc 等等)。
第三步,修改 dotsyncrc 这个配置文件。如下:
# Location of your dotfiles in $HOME
DOTFILES=Dotfiles
# 添加你需要链接的文件
[files]
dotsyncrc # 相当于 ln -s dotsyncrc ~/.dotsyncrc
emacs/xm-spacemacs:.emacs.d # 相当于 ln -s emacs/xm-spacemacs ~/.emacs.d
emacs/spacemacs # 相当于 ln -s emacs/spacemacs ~/.spacemacs
...
[endfiles]
[hosts]
xm-pc git=ANY # 计算机名称
[endhosts]
第四步,运行 dotsync 命令。
# 假设你把 dotsync 克隆到了家目录下
~/dotsync/bin/dotsync # 运行,会提示你选择参数
~/dotsync/bin/dotsync -l # 查看将要链接的文件列表
~1202.www.qixoo.qixoo.com/dotsync/bin/dotsync -f ~/Dotfiles/dotsyncrc -L # -f 指定配置文件,-L 生成软链接
这个时候,你在 dotsyncrc 中指定的文件,都在指定位置创建了软链接。如果文件已经存在,它们都将备份到 ~/.backup/ 目录。当你编辑软链接文件的时候,实际上编辑的是 Dotfiles 目录中的源文件。
第五步,这个时候,就可以使用 git 管理备份 Dotfiles 文件夹了。
3、将 dotsync 添加到 Shell 的 PATH 路径
一个问题:怎样在命令行中直接使用 dotsync?
我在 Dotfiles/ 目录下创建了一个 bin/ 目录,专门用来存放一些用户自己编写的脚本。然后把这个 bin 目录添加到 shell 的 PATH 路径,即在 .zshrc 文件中添加一行:
export PATH="$HOME/Dotfiles/bin:$PATH"
然后,
source ~qkxue.net/.zshrc # 重载 zshrc 文件
$PATH # 查看 PATH
这样,我们就可以在命令行中直接使用 dotsync 这个命令了。
Linux下,使用Git管理 dotfiles(配置文件)的更多相关文章
- 如何在linux下使用git管理上传代码&误删文件修复
首先需要安装git,sudo apt-get install git,这时就可以下载代码了. 然后先在gituhub上新建一个仓库,然后先在本地建一个git目录,git init 然后再配置用户名和邮 ...
- 【one day one linux】linux下的软件包管理工具
Linux 下的软件包管理工具 linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装. 1.软件包的种类 Red Hat和Fedora:redhat ...
- 环境部署(三):Linux下安装Git
Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具. 这篇博客,介绍下Linux下安装Git的步骤,仅供参考,当然,还是yum安装 ...
- Linux下Jenkins+git+gradle持续集成环境搭建
Linux下Jenkins+git+gradle持续集成环境搭建 来源:IT165收集 发布日期:2014-08-22 21:45:50 我来说两句(0)收藏本文 一.项目介绍 和 linux ...
- 【转】在Linux下搭建Git服务器
在 Linux 下搭建 Git 服务器 环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows. ...
- ***Linux下使用git命令及github项目
在linux下搭建git环境1.创建Github账号,https://github.com2.Linux创建SSH密钥: ssh-keygen ##一直默认就可以了 3.将公钥加入到Github账户 ...
- 安装VMtools vim编辑器的使用 压缩包命令 Linux下的用户管理 (第三天)
VM tools:方便我们虚拟机和宿主机之间复制数据或移动文件等 安装VMtools 1.菜单栏-虚拟机-安装VM tools 将其选中 2.进入系统,在桌面位置里面有VM tools的光盘,双击进入 ...
- Linux 下权限的管理
Linux 下权限的管理 我们都知道,Linux系统对于用户的权限管理是十分严格的. 那么,我们就来具体了解一下. 一. 用户 在Linux中按照类型用户分为两种:1.超级用户 2.普通用户 那么它们 ...
- 学习Linux下的文件目录管理
文件目录管理 一.认识Linux文件系统的架构 在Linux中是没有盘符这个概念的,即Linux中没有C盘和D盘的分盘.那么我们直接通过对目录的操作实现对磁盘的读写,因 ...
随机推荐
- C#微信公众号开发系列教程五(接收事件推送与消息排重)
微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...
- JavaScript UI选型及Jquery EasyUI使用经验谈
最近由于项目需要,对js UI作了一些简单的了解和使用,有自己的一些想法,在这里留个记录. 当然,我的专注点在管理系统的范围内,所以互联网网站及其他形态的应用这里不提及,所以jQuery UI和Boo ...
- JavaScript学习笔记- 省市级联效果
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
- memcache 安装
1 下载两个文件 wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz wget http://www.monkey.org/ ...
- 在Word2013中多次应用格式刷
顾名思义,格式刷是为了方便需要跨区域操作时候,能快速的应用格式到相应文本.那么怎么使用word进行格式刷的多次使用呢.我们先来看单次的,这个比较容易,只要在先需要的格式单击一次格式刷,再到需要的文本执 ...
- div两栏等高布局
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 使用express4.X + jade + mongoose + underscore搭建个人电影网站
(-。-;), 周末过得真是快啊, 很久以前就看到imooc上有个搭建个人电影网站一期 ,二期的视频, 这两周宅家里撸玩没事干, 我也学着搭了一个, 这些东西都是基础, 只要花点时间很好学的, no ...
- 状态压缩 HDU 3182
t组数据 n个汉堡 e的能量 接下来的2行 val n个 得到的权 cost n个 花去的能量 接下来n行 每行一个q q个数字 代表这类汉堡做好要的前提 每个汉堡只能用一次 #inclu ...
- poj2186 强连通缩点
Popular Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 29773 Accepted: 12080 De ...
- maven2打包不同jdk版本的包
通常在一些特别情况下,我们需要为单独某一个构件打包多个不同jdk版本的包,用来支持不同的jdk,基于maven我们就可以很方便的做到这点. 1.在项目的pom文件中加入如下配置 <project ...