如何使用 Git 管理配置文件

  • 2022 年 9 月 21 日
  • 筆記

現在很多軟體的配置都可以在線同步或者支援導入導出,可以很方便的在不同設備上使用。但電腦上還有很多本地配置文件沒有辦法同步,誇多個設備使用時很難保持一致,換電腦也很麻煩。其實可以使用 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 ~ 恢復所有配置