Git
是否總是需要使用 vcs 命令執行 etckeeper git 命令?
我在網際網路上看到了一些教程,人們使用這些教程
etckeeper
來記錄他們的伺服器配置,但他們git
直接使用命令而不是通過命令執行它etckeeper vcs
。這對我來說似乎有點危險,因為 etckeeper 是 git 命令的代理,因為etckeeper 必須將文件權限和元數據儲存在 .etckeeper 目錄中。執行這樣的 git 命令對 .etckeeper 目錄的狀態或其他任何相關的狀態是否有危險?
它是否取決於執行哪個命令?為什麼或者為什麼不?
etckeeper vcs
僅載入/etc/etckeeper/etckeeper.conf
(可能但通常不設置環境變數),確定儲存庫使用哪個 VCS 系統,並使用指定的參數呼叫適當的 VCS 命令。如果您知道儲存庫儲存在 git 下,執行etckeeper vcs foo
或git foo
沒有任何區別。執行類似
etckeeper commit
而不是命令git commit
確實會產生影響,但不一定是關鍵命令。舉個例子git commit
,所有關於權限和所有權的智能都在一個鉤子裡。做什麼etckeeper commit
(除了確定要使用哪個 VCS)是根據 etckeeper 配置設置作者身份,預設送出所有內容(etckeeper commit
就像git commit -a
),以及傳遞在 etckeeper 配置中設置的額外標誌。