設定與配置
取得與建立專案
基本快照
分支與合併
分享與更新專案
檢查與比較
修補
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層命令
- 2.43.1 → 2.47.0 無變更
-
2.43.0
11/20/23
- 2.39.1 → 2.42.3 無變更
-
2.39.0
12/12/22
- 2.36.1 → 2.38.5 無變更
-
2.36.0
04/18/22
概要
git fsmonitor--daemon start git fsmonitor--daemon run git fsmonitor--daemon stop git fsmonitor--daemon status
描述
一個使用平台特定的檔案系統通知機制,監看工作目錄中檔案和目錄變更的守護進程。
此守護進程使用簡單 IPC 介面而非較慢的githooks[5] 介面,直接與 git status
等命令通訊。
此守護進程內建於 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] 文件中包含的。內容與在那裡找到的相同
GIT
屬於git[1] 套件的一部分