Git
如何使用 etckeeper 進行乾淨的送出?
我想用 etckeeper 做出乾淨的送出。這是發生的事情:
1)檢查儲存庫的狀態:
git status On branch master nothing to commit, working directory clean
2)修改配置文件:
vi myfile.conf
3)將其添加到索引中
git add myfile.conf
- 送出
git commit -m"Add this ... to myfile.conf"
5)觀察送出:
git log -p -1 [...] maybe chmod 0644 'magic.mime' -maybe chmod 0644 'mail.rc' maybe chmod 0644 'mailcap' maybe chmod 0644 'mailcap.order' maybe chmod 0644 'mailname' +maybe chmod 0644 'mail.rc' maybe chmod 0644 'manpath.config' maybe chmod 0644 'matplotlibrc' maybe chmod 0755 'maven' [...] (My modification to myfile.conf) [...]
我了解 etckeeper 需要跟踪 git 儲存庫中的文件權限,即使我不了解此重新排序的目的。我想在不同的送出中分離與
./etckeeper
目錄相關的所有修改和與配置文件內容相關的修改。怎麼做?
Etckeeper 設置一個 git 鉤子,以便在元數據更改時送出包含元數據資訊的文件。這通常是正確的。如果你真的想繞過送出鉤子,你可以執行
git commit --no-verify
.元數據文件按文件名排序。排序順序取決於環境語言環境。在您的情況下,該文件似乎已按純字節字典順序排序(在 ASCII 中,
mail.rc
beforemailcap
since.
是 beforec
),但您現在正在以某種對人類友好的方式進行排序的語言環境中執行 git,並帶有標點符號被忽略,除非作為最後的手段(可能是 UTF-8 語言環境)(使用mail.rc
aftermailname
sincen
is beforer
)。執行LC_ALL=C git commit
以純字典順序進行排序。添加export LC_COLLATE=C
到/etc/etckeeper/etckeeper.conf
強制一致的排序順序是有意義的。