Git Branch Lockfiles
Git 分支锁文件允许你完全避免锁文件合并冲突并稍后解决。
使用 Git 分支锁文件
You can turn on this feature by configuring the pnpm-workspace.yaml
file.
gitBranchLockfile: true
通过这样做,锁文件的名称将根据当前 Git 分支名称生成。
例如,当前分支名称是 feature-1
。 那么,生成的锁文件名称就会是 pnpm-lock.feature-1.yaml
。 你可以将其提交到 Git,并稍后合并所有 Git 分支锁文件。
- <项目目录>
|- pnpm-lock.yaml
|- pnpm-lock.feature-1.yaml
|- pnpm-lock.<分支名称>.yaml
注意
feature/1
是需要特殊处理的,/
会自动转换为 !
,因此对应的锁文件名称会是 pnpm-lock.feature!1.yaml
。
合并 Git 分支锁文件
pnpm install --merge-git-branch-lockfiles
要合并所有 Git 分支锁文件,只需要在运行 pnpm install
命令时指定 --merge-git-branch-lockfiles
。
运行后,所有 Git 分支锁文件将会合并成一个 pnpm-lock.yaml
分支匹配
pnpm 允许你通过匹配当前分支名称来自动指定 --merge-git-branch-lockfiles
。
For instance, by the following setting in pnpm-workspace.yaml
file, pnpm install
will merge all git branch lockfiles when running in the main
branch and the branch name starts with release
.
mergeGitBranchLockfilesBranchPattern:
- main
- release*