用 git-store-meta 保存 Git 版控檔案的元資料

雖說 Git 一般是用於程式碼的版本控制,但偶爾我們也會把 Git 用在其他場合,例如儲存靜態網站資料、部落格文章、靜態站台生成器原始碼、甚至更一般化的檔案管理等等,這些應用情境往往需要檔案及資料夾維持正確的修改時間、使用者、群組、檔案權限等等。由於 Git 的功能限制,每次從 Git 取回舊版檔案和資料夾都要重新調整這些元資料,甚為麻煩。

git-store-meta 是我寫來處理這種問題的工具,可以把 Git 版控檔案的元資料保存在一個特殊的純文字檔案中,並且在需要時能重新套用回各檔案。

git-store-meta 的特色:

  • 系統需求極輕,能跑 Git 的環境基本上就能跑。
  • 安裝簡便,複製一個檔案就行。
  • 資料檔為純文字格式,因此這些元資料也可以版控、比對、合併、甚或手工修改。
  • 可自由指定要保存及套用哪些元資料。
  • 可加裝 hook,在 commit 前自動保存異動檔案的元資料,及在 checkout 後自動把元資料套回去。

其他細節請自行參考使用手冊囉。

其實在此之前就有人寫過 metastoresetgitpermsgit-metagit-cache-meta 等類似工具,不過我覺得它們都分別有些不太好用之處,幾經考量下還是自己寫了一個。

留言

這個網誌中的熱門文章

Windows 批次檔令人崩潰的特殊字元處理

為什麼 Mercurial 沒有比 Git 更好

中文與英文的比較

用 git replace 改善 Git 本地版本庫的開發線圖