Файли блокування Git

Файли блокувань гілок Git дозволяють вам повністю уникнути конфліктів злиття файлів блокувань і вирішити їх пізніше.

Використання файлів блокування Git#

Ви можете ввімкнути цю функцію, налаштувавши файл pnpm-workspace.yaml.

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

нотатка

Every character in the branch name other than ASCII letters, digits, _, ., and - is converted to !, and the name is lowercased. So the lockfile of the Feature/1 branch is pnpm-lock.feature!1.yaml. A character outside the Basic Multilingual Plane, such as an emoji, becomes !!.

Об’єднання всіх файлів блокування гілок git#

pnpm install --merge-git-branch-lockfiles#

Щоб об’єднати всі файли блокування гілок git, просто вкажіть прапорець --merge-git-branch-lockfiles до pnpm install.

After that, all git branch lockfiles will be merged into one pnpm-lock.yaml, and the branch lockfiles are deleted.

Branch matching#

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 or in a branch whose name starts with release.

pnpm-workspace.yaml
mergeGitBranchLockfilesBranchPattern:
- main
- release*

See gitBranchLockfile and mergeGitBranchLockfilesBranchPattern for the setting reference.