如何使用 Git 管理配置檔案

語言: CN / TW / HK

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