設定和配置
獲取和建立專案
基本快照
分支與合併
共享和更新專案
檢查和比較
打補丁
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層命令
- 2.43.1 → 2.50.1 無更改
-
2.43.0
2023-11-20
- 2.39.1 → 2.42.4 無更改
-
2.39.0
2022-12-12
- 2.36.1 → 2.38.5 無更改
-
2.36.0
2022-04-18
概要
git fsmonitor--daemon start git fsmonitor--daemon run git fsmonitor--daemon stop git fsmonitor--daemon status
描述
一個守護程序,使用平臺特定的檔案系統通知工具來監視工作目錄的檔案和目錄更改。
該守護程序直接與諸如 git
status
等命令透過 簡單 IPC 介面進行通訊,而不是使用較慢的 githooks[5] 介面。
該守護程序內置於 Git 中,因此無需第三方工具。
備註
該守護程序是一個長時間執行的程序,用於監視單個工作目錄並維護最近更改的檔案和目錄列表。如果諸如 git
status
等命令只需要工作目錄更改的摘要並可以避免掃描磁碟,則其效能可以得到提升。
當 core.fsmonitor
設定為 true
時(參見 git-config[1]),諸如 git
status
等命令將向守護程序請求更改並自動啟動它(如果需要)。
更多資訊請參見 git-update-index[1] 中的“檔案系統監視器”部分。
注意事項
fsmonitor 守護程序目前不知道子模組,也不知道過濾掉髮生在子模組內的檔案系統事件。如果 fsmonitor 守護程序正在監視一個超級倉庫,並且子模組工作目錄中的檔案被修改,它會報告該更改(如同發生在超級倉庫中一樣)。然而,客戶端將正確地忽略這些額外的事件,因此效能可能會受到影響,但不會導致不正確的結果。
預設情況下,fsmonitor 守護程序拒絕與網路掛載的倉庫一起工作;這可以透過將 fsmonitor.allowRemote
設定為 true
來覆蓋。但請注意,fsmonitor 守護程序不保證能正確地與所有網路掛載的倉庫一起工作,因此此類使用被認為是實驗性的。
在 Mac OS 上,各種 Git 命令與 fsmonitor 守護程序之間的程序間通訊 (IPC) 是透過 Unix 域套接字 (UDS) 完成的——一種特殊型別的檔案——它受原生 Mac OS 檔案系統支援,但在網路掛載檔案系統、NTFS 或 FAT32 上不受支援。其他檔案系統可能支援也可能不支援所需功能;fsmonitor 守護程序不保證能與這些檔案系統一起工作,此類使用被認為是實驗性的。
預設情況下,套接字在 .git
目錄中建立。但是,如果 .git
目錄位於網路掛載的檔案系統上,它將改為在 $HOME/.git-fsmonitor-*
建立,除非 $HOME
本身位於網路掛載的檔案系統上,在這種情況下,您必須將配置變數 fsmonitor.socketDir
設定為 Mac OS 原生檔案系統上某個目錄的路徑,以在該目錄中建立套接字檔案。
如果上述任何目錄(.git
、$HOME
或 fsmonitor.socketDir
)都不在原生 Mac OS 檔案系統上,fsmonitor 守護程序將報告一個錯誤,導致守護程序和當前執行的命令退出。
配置
本節中以下所有內容均從 git-config[1] 文件中選擇性地包含。內容與彼處相同: