セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット作成
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
ガイド
- gitattributes
- コマンドラインインターフェースの慣例
- 日常のGit
- よくある質問 (FAQ)
- 用語集
- フック
- gitignore
- gitmodules
- リビジョン
- サブモジュール
- チュートリアル
- ワークフロー
- すべてのガイド...
管理
プラミングコマンド
- 2.43.1 → 2.49.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
説明
プラットフォーム固有のファイルシステム通知機能を使用して、ファイルおよびディレクトリの変更をワーキングディレクトリで監視するデーモンです。
このデーモンは、より遅い githooks[5] インターフェースではなく、simple IPC インターフェースを使用して、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
自体がネットワークマウントされたファイルシステム上にある場合を除き、代わりに $HOME/.git-fsmonitor-*
に作成されます。後者の場合、ソケットファイルを作成するための Mac OS ネイティブファイルシステム上のディレクトリのパスを、設定変数 fsmonitor.socketDir
に設定する必要があります。
上記のディレクトリ (.git
、$HOME
、または fsmonitor.socketDir
) のいずれも Mac OS ネイティブファイルシステム上にない場合、fsmonitor デーモンはエラーを報告し、デーモンと現在実行中のコマンドが終了します。
設定
このセクションのこの行より下のすべての内容は、git-config[1] ドキュメントから選択的に含まれています。内容はそちらで見つかるものと同じです。
- fsmonitor.allowRemote
-
デフォルトでは、fsmonitor デーモンはネットワークマウントされたリポジトリでは動作を拒否します。
fsmonitor.allowRemote
をtrue
に設定すると、この動作が上書きされます。core.fsmonitor
がtrue
に設定されている場合にのみ有効です。 - fsmonitor.socketDir
-
この Mac OS 固有のオプションは、設定されている場合、fsmonitor デーモンと様々な Git コマンド間の通信に使用される Unix ドメインソケットを作成するディレクトリを指定します。このディレクトリは、ネイティブの Mac OS ファイルシステム上に存在する必要があります。
core.fsmonitor
がtrue
に設定されている場合にのみ有効です。
GIT
git[1] スイートの一部