如何使用 Git 管理配置檔案
現在很多軟體的配置都可以線上同步或者支援匯入匯出,可以很方便的在不同裝置上使用。但電腦上還有很多本地配置檔案沒有辦法同步,誇多個裝置使用時很難保持一致,換電腦也很麻煩。其實可以使用 Git 來管理這些配置檔案,既可以方便的備份、跨裝置同步,還能進行版本控制,防止誤操作。
主要思路就是在電腦上建立個裸倉,將工作區設定為所有配置檔案的根目錄,一般是使用者的家目錄。然後忽略掉所有檔案,僅將需要備份的檔案強制暫存起來就可以了。
具體操作如下:
-
先在本地建立個裸倉:
mkdir config.git cd config.git git init --bare
-
忽略工作區內的所有檔案
echo "*" >> info/exclude
-
手動配置工作區為家目錄(或其他所有配置檔案的共同父目錄)
git config core.bare false git config core.worktree ~
-
這時可以
git status
檢查下配置是否正確,例如應該回顯了nothing to commit
而不是整個工作區的檔案 -
第一次新增檔案的時候需要使用
-f
選項:git add -f ~/xxx.conf
,否則會提示檔案已經被忽略了 -
剩下的步驟就和正常使用 Git 一樣了,
git add -u
/git commit
/git push
/git pull
等
如果已經有了配置的倉庫,需要在新裝置上第一次恢復配置,具體操作步驟如下:
-
先克隆倉庫到本地的裸倉庫:
git clone --bare remote-repository-url config.git
-
手動配置工作區和忽略工作區的所有檔案
echo "*" >> info/exclude git config core.bare false git config core.worktree ~
-
因為之前克隆的是裸倉,暫存區內沒有內容,所以需要先執行
git reset
命令重建下暫存區 -
現在可以使用
git status
檢查本地配置檔案和遠端配置檔案的差異,或者使用git diff
對比 -
保險起見,應該
git checkout filename
逐個恢復,也可以使用git checkout ~
恢復所有配置
「其他文章」
- 記一次批量更新整型型別的列 → 探究 UPDATE 的使用細節
- 編碼中的Adapter,不僅是一種設計模式,更是一種架構理念與解決方案
- 執行緒池底層原理詳解與原始碼分析
- 30分鐘掌握 Webpack
- 線性迴歸大結局(嶺(Ridge)、 Lasso迴歸原理、公式推導),你想要的這裡都有
- Django 之路由層
- 【前端必會】webpack loader 到底是什麼
- day42-反射01
- 中心化決議管理——雲端分析
- HashMap底層原理及jdk1.8原始碼解讀
- 詳解JS中 call 方法的實現
- 列印 Logger 日誌時,需不需要再封裝一下工具類?
- 初識設計模式 - 代理模式
- 設計模式---享元模式
- 密碼學奇妙之旅、01 CFB密文反饋模式、AES標準、Golang程式碼
- [ML從入門到入門] 支援向量機:從SVM的推導過程到SMO的收斂性討論
- 從應用訪問Pod元資料-DownwardApi的應用
- Springboot之 Mybatis 多資料來源實現
- Java 泛型程式設計
- CAS核心思想、底層實現