现在很多软件的配置都可以在线同步或者支持导入导出,可以很方便的在不同设备上使用。但电脑上还有很多本地配置文件没有办法同步,夸多个设备使用时很难保持一致,换电脑也很麻烦。其实可以使用 Git 来管理这些配置文件,既可以方便的备份、跨设备同步,还能进行版本控制,防止误操作。

主要思路就是在电脑上创建个裸仓,将工作区设置为所有配置文件的根目录,一般是用户的家目录。然后忽略掉所有文件,仅将需要备份的文件强制暂存起来就可以了。


具体操作如下:

  1. 先在本地创建个裸仓:
    mkdir config.git
    cd config.git
    git init --bare
  2. 忽略工作区内的所有文件
    echo "*" >> info/exclude
  3. 手动配置工作区为家目录(或其他所有配置文件的共同父目录)
    git config core.bare false
    git config core.worktree ~
  4. 这时可以 git status 检查下配置是否正确,例如应该回显了 nothing to commit 而不是整个工作区的文件
  5. 第一次添加文件的时候需要使用 -f 选项: git add -f ~/xxx.conf,否则会提示文件已经被忽略了
  6. 剩下的步骤就和正常使用 Git 一样了,git add -u/git commit/git push/git pull

如果已经有了配置的仓库,需要在新设备上第一次恢复配置,具体操作步骤如下:

  1. 先克隆仓库到本地的裸仓库:
    git clone --bare remote-repository-url config.git
  2. 手动配置工作区和忽略工作区的所有文件
    echo "*" >> info/exclude
    git config core.bare false
    git config core.worktree ~
  3. 因为之前克隆的是裸仓,暂存区内没有内容,所以需要先执行 git reset 命令重建下暂存区
  4. 现在可以使用 git status 检查本地配置文件和远端配置文件的差异,或者使用 git diff 对比
  5. 保险起见,应该 git checkout filename 逐个恢复,也可以使用 git checkout ~ 恢复所有配置

最新文章

  1. ZYNQ学习之——MIO
  2. java JDK8 学习笔记——第16章 整合数据库
  3. python的最最最最最基本语法(3)
  4. 【转】Eclipse提示No java virtual machine(转载)
  5. visual studio插件 visual assistx
  6. 最小值滤波 (C 语言实现)
  7. windows下使用openssl的一种方法
  8. 原生态纯JavaScript 100大技巧大收集---你值得拥有
  9. Dynamics 365 CE命令栏按钮点击后刷新表单页面方法
  10. Spring Boot 2.x :通过 spring-boot-starter-hbase 集成 HBase
  11. vue--vant组件库field输入框
  12. eclipse修改android项目的apk包名类名
  13. OS&SYS&Shuti模块
  14. 《Head First 设计模式》例子的C++实现(5 单例模式)
  15. centos6.5制作OpenStack云平台Windows7镜像
  16. java网页数据抓取实例
  17. 定义类/实例(Class)
  18. js 空数组 空对象判断
  19. 继承spring的validator接口,实现对数据的校验
  20. java经典30笔试题

热门文章

  1. HTTP Status 405 - Request method 'GET' not supported?(尚硅谷Restful案例练习关于Delete方法出现的错误)
  2. centos系统管理高级篇
  3. IDEA的概述和IDEA的安装
  4. squareline搭档OneOS图形组件之可视化GUI开发
  5. elasticsearchTemplate that could not be found
  6. Template -「矩阵 - 行列式」
  7. [Android开发学iOS系列] 语言篇: Swift vs Kotlin
  8. Centos7基本配置信息查看
  9. 利用Kaptcha.jar生成图片验证码(以下源码可以直接复制并自定义修改)
  10. srec_cat 常用参数的使用