以下のActionを使って、GitHubActionsでpre-commitを動かす場合、
既定では全ファイルに対して適用されます。

pre-commit/action | GitHub
https://github.com/pre-commit/action

このエントリでは、
該当のPullRequestで変更したファイルのみに適用したい場合の設定方法を示します。

# ユースケースとしては、
# リンター類を導入して無かったリポジトリに対して、
# 新規・変更部分から段階的に適用していきたい場合など。

具体的には次のような、GiHubActionsのワークフローで設定出来ます。

.github/workflows/ci.yaml

name: ci
on:
  - pull_request
jobs:
  unit_test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: fetch base branch
        run: git fetch origin ${{ github.event.pull_request.base.ref }}
      - uses: pre-commit/action@v3.0.1
        with:
          extra_args: --from-ref origin/${{ github.event.pull_request.base.ref }} --to-ref HEAD

以降、説明です。

1. pre-commitで変更ブランチ間のみに適用する

pre-commitを変更ブランチ間のみに適用する場合は、
–from-ref, –to-refオプションを使います。

例えば、masterブランチとヘッド間のcommitに適用するなら次のようになります。

pre-commit run --from-ref master --to-ref HEAD

2. GitHubActionsでPullRequestのベースブランチを確認する

GiHubActionでは、環境変数DEPLOYMENT_ENVのファイルに、
そのActionsを実行した際の各種パラメータが入っているので、
そこからPullRequestのベースブランチを知ることができます。

具体的には、次のように参照できるので、
これをpre-commitの--from-refに渡します。

${{ github.event.pull_request.base.ref }}

DEPLOYMENT_ENVから取得できるパラメータは、
GitHubActionsのワークフローに次のようなstepを追加して、動かせばわかります。

      - run: cat $GITHUB_EVENT_PATH

3. checkoutアクションの挙動

checkoutアクションは、既定ではgitのヒストリをチェックアウトしません(depth=1)。

actions/checkout | GitHub
https://github.com/actions/checkout

そこで、以下のstepを追加して、
PullRequestのベースブランチとヘッド間の差分を取得します。

      - name: fetch base branch
        run: git fetch origin ${{ github.event.pull_request.base.ref }}

以上。