• 如何使用 Git 管理配置文件


    现在很多软件的配置都可以在线同步或者支持导入导出,可以很方便的在不同设备上使用。但电脑上还有很多本地配置文件没有办法同步,夸多个设备使用时很难保持一致,换电脑也很麻烦。其实可以使用 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 ~ 恢复所有配置
  • 相关阅读:
    导入导出根文件系统脚本
    OSG 添加文字(显示中英文)
    Spring框架中有哪些不同类型的事件
    估计、偏差和方差
    DHCP服务详解
    S7-1200/1500程序设计规范指南之一:导言
    【数据结构】二叉搜索树——二叉搜索树的概念和介绍、二叉搜索树的简单实现、二叉搜索树的增删查改
    【2021最新版】RabbitMQ面试题总结(32道题含答案解析)
    【单片机】14-I2C通信之EEPROM
    一行代码为特定状态绑定SwiftUI视图动画
  • 原文地址:https://www.cnblogs.com/val3344/p/16717121.html