ネットワーク共有上のリポジトリで git フックを実行すると、どのバイナリが使用されますか?

ネットワーク共有上のリポジトリで git フックを実行すると、どのバイナリが使用されますか?

タイトルを参照してください。私のリポジトリはネットワーク共有上にあります。そこに新しいリビジョンをプッシュすると、フックpost-udpateが実行されます。フックには Perl が必要ですが、問題なく実行されます。

しかし、perl.exeここではどちらが使用されているのでしょうか? 私のマシン上のものですか? それとも、Perl が誤ってリモート マシンにインストールされ、その Perl が実行されているのでしょうか?

答え1

通常の (SMB/CIFS) ネットワーク共有の場合は、クライアント上で実行されます。

SSH または HTTPS 経由で Git を使用する場合、Git (代替実装の可能性もあります) はリモート側で実行され、フックを実行します。

もっと簡単に言うと、ファイル パスをリモートとして設定すると、それが実際には SSHFS などであっても、ローカルで実行されます。それ以外の場合は、リモートで実行されます。

関連情報