Git Branch Lockfiles
Git branch lockfiles 允许您完全避免 lockfile 合并冲突并稍后解决。
使用 git branch lockfiles
您可以通过配置 .npmrc
文件来打开此功能。
git-branch-lockfile=true
通过这样做,lockfile 文件的名称将根据当前 git 分支名称生成。
例如,当前分支名称是 feature-1
。 那么,生成的 lockfile 文件名称就会是 pnpm-lock.feature-1.yaml
。 您可以将其提交到 Git,并稍后合并所有 git branch lockfiles 文件。
- <项目目录>
|- pnpm-lock.yaml
|- pnpm-lock.feature-1.yaml
|- pnpm-lock.<分支名称>.yaml
:::注意
feature/1
是需要特殊处理的,/
会自动转换为 !
,因此对应的 lockfile 名称会是 pnpm-lock.feature!1.yaml
。
:::
合并 git branch lockfiles
pnpm install --merge-git-branch-lockfiles
要合并所有 git branch lockfiles,只需要在运行 pnpm install
命令时指定 --merge-git-branch-lockfiles
。
运行后,所有 git branch lockfiles 将会合并成一个 pnpm-lock.yaml
分支匹配
pnpm 允许您通过匹配当前分支名称来自动指定 --merge-git-branch-lockfiles
。
例如,通过 .npmrc
文件中的以下设置,当 在 main
分支中或者分支名称以 release
开头时, pnpm install
将合并所有 git branch lockfiles。
merge-git-branch-lockfiles-branch-pattern[]=main
merge-git-branch-lockfiles-branch-pattern[]=release*