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-lockfiles
給 pnpm 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*