跳到主要内容
版本:Next

Git 分支锁文件

Git 分支锁文件允许你完全避免锁文件合并冲突,并在之后解决它。

使用 Git 分支锁文件

你可以通过配置 pnpm-workspace.yaml 文件来启用此功能。

gitBranchLockfile: 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 分支锁文件将被合并成一个 pnpm-lock.yaml

分支匹配

pnpm 允许你通过匹配当前分支名来指定 --merge-git-branch-lockfiles

例如,通过在 pnpm-workspace.yaml 文件中进行以下设置,当在 main 分支和以 release 开头的分支名上运行时, pnpm install 将合并所有 Git 分支锁文件。

mergeGitBranchLockfilesBranchPattern:
- main
- release*