設定和配置
獲取和建立專案
基本快照
分支與合併
共享和更新專案
檢查和比較
打補丁
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層命令
- 2.43.1 → 2.52.0 無更改
-
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
描述
一個守護程序,使用特定於平臺的 [檔案系統通知設施](https://en.wikipedia.org/wiki/Filesystem_event_notification) 來監視工作目錄中的檔案和目錄更改。
該守護程序直接與 git status 等命令使用 [simple IPC](api-simple-ipc.html) 介面進行通訊,而不是使用較慢的 [githooks[5]](githooks.html) 介面。
該守護程序內置於 Git 中,因此不需要第三方工具。
說明
此守護程序是一個長期執行的程序,用於監視單個工作目錄並維護最近更改的檔案和目錄列表。如果 git status 等命令只需詢問工作目錄更改的摘要並避免掃描磁碟,其效能可以提高。
當 core.fsmonitor 設定為 true 時(請參閱 [git-config[1]](git-config.html)),git status 等命令將向守護程序詢問更改,並自動啟動它(如果需要)。
有關更多資訊,請參閱 [git-update-index[1]](git-update-index.html) 中的“檔案系統監視器”部分。
注意事項
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] 文件中選擇性地包含。內容與彼處相同: