セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
- 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
説明
プラットフォーム固有のファイルシステム通知機能を使用して、作業ディレクトリのファイルおよびディレクトリの変更を監視するデーモンです。
このデーモンは、低速な githooks[5] インターフェースではなく、シンプルな 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/.git-fsmonitor-*
に作成されます。$HOME
自体がネットワークマウントされたファイルシステム上にある場合は、設定変数 fsmonitor.socketDir
を、ソケットファイルを作成する Mac OS ネイティブファイルシステム上のディレクトリのパスに設定する必要があります。
上記のいずれのディレクトリ (.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]スイートの一部