メインコンテンツへスキップ
バージョン: 9.x

Gitブランチロックファイル

Gitブランチロックファイルを使用すると、ロックファイルのマージ競合を完全に回避し、後で解決できます。

Gitブランチロックファイルの使用

この機能を有効にするには、`.npmrc`ファイルを構成します。

git-branch-lockfile=true

これにより、現在のブランチ名に基づいてロックファイル名が生成されます。

たとえば、現在のブランチ名が`feature-1`の場合、生成されるロックファイル名は`pnpm-lock.feature-1.yaml`になります。これをGitにコミットし、後ですべてのGitブランチロックファイルをマージできます。

- <project_folder>
|- pnpm-lock.yaml
|- pnpm-lock.feature-1.yaml
|- pnpm-lock.<branch_name>.yaml
注記

`feature/1`は特殊で、`/`が自動的に`!`に変換されるため、対応するロックファイル名は`pnpm-lock.feature!1.yaml`になります。

Gitブランチロックファイルのマージ

`pnpm install --merge-git-branch-lockfiles`

すべてのGitブランチロックファイルをマージするには、`pnpm install`コマンドに`--merge-git-branch-lockfiles`を指定します。

その後、すべてのGitブランチロックファイルが1つの`pnpm-lock.yaml`にマージされます。

ブランチの一致

pnpmでは、現在のブランチ名と一致させることで`--merge-git-branch-lockfiles`を指定できます。

たとえば、`.npmrc`ファイルに以下の設定を行うことで、`main`ブランチとブランチ名が`release`で始まるブランチで実行した場合、`pnpm install`はすべてのGitブランチロックファイルをマージします。

merge-git-branch-lockfiles-branch-pattern[]=main
merge-git-branch-lockfiles-branch-pattern[]=release*