Git

是否總是需要使用 vcs 命令執行 etckeeper git 命令?

  • December 20, 2015

我在網際網路上看到了一些教程,人們使用這些教程etckeeper來記錄他們的伺服器配置,但他們git直接使用命令而不是通過命令執行它etckeeper vcs

這對我來說似乎有點危險,因為 etckeeper 是 git 命令的代理,因為etckeeper 必須將文件權限和元數據儲存在 .etckeeper 目錄中。執行這樣的 git 命令對 .etckeeper 目錄的狀態或其他任何相關的狀態是否有危險?

它是否取決於執行哪個命令?為什麼或者為什麼不?

etckeeper vcs僅載入/etc/etckeeper/etckeeper.conf(可能但通常不設置環境變數),確定儲存庫使用哪個 VCS 系統,並使用指定的參數呼叫適當的 VCS 命令。如果您知道儲存庫儲存在 git 下,執行etckeeper vcs foogit foo沒有任何區別。

執行類似etckeeper commit而不是命令git commit確實會產生影響,但不一定是關鍵命令。舉個例子git commit,所有關於權限和所有權的智能都在一個鉤子裡。做什麼etckeeper commit(除了確定要使用哪個 VCS)是根據 etckeeper 配置設置作者身份,預設送出所有內容(etckeeper commit就像git commit -a),以及傳遞在 etckeeper 配置中設置的額外標誌。

引用自:https://unix.stackexchange.com/questions/250248