跳至主要內容
版本:9.x

Git 分支鎖定檔

Git 分支鎖定檔讓您可以完全避免鎖定檔合併衝突,並在稍後解決。

使用 Git 分支鎖定檔

您可以透過設定 .npmrc 檔案來開啟此功能。

git-branch-lockfile=true

這樣一來,鎖定檔名稱會根據目前的 branch 名稱產生。

例如,目前的 branch 名稱是 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 分支鎖定檔,只要指定 --merge-git-branch-lockfilespnpm install 指令即可。

之後,所有 git 分支鎖定檔都會合併到一個 pnpm-lock.yaml

分支比對

pnpm 允許你透過比對目前的 branch 名稱來指定 --merge-git-branch-lockfiles

例如,在 .npmrc 檔案中設定以下設定,當在 main 分支執行 pnpm install 時,以及分支名稱以 release 開頭時,就會合併所有 git 分支鎖定檔。

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