управляйте несколькими рабочими деревьями (Manage multiple working trees)
Имя (Name)
git-worktree - Manage multiple working trees
Синопсис (Synopsis)
git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]] [-b <new-branch>] <path> [<commit-ish>]
git worktree list [--porcelain]
git worktree lock [--reason <string>] <worktree>
git worktree move <worktree> <new-path>
git worktree prune [-n] [-v] [--expire <expire>]
git worktree remove [-f] <worktree>
git worktree repair [<path>...]
git worktree unlock <worktree>
Описание (Description)
Manage multiple working trees attached to the same repository.
A git repository can support multiple working trees, allowing you
to check out more than one branch at a time. With git worktree
add
a new working tree is associated with the repository. This
new working tree is called a "linked working tree" as opposed to
the "main working tree" prepared by git-init(1) or git-clone(1).
A repository has one main working tree (if it's not a bare
repository) and zero or more linked working trees. When you are
done with a linked working tree, remove it with git worktree
remove
.
In its simplest form, git worktree add <path>
automatically
creates a new branch whose name is the final component of <path>
,
which is convenient if you plan to work on a new topic. For
instance, git worktree add ../hotfix
creates new branch hotfix
and checks it out at path ../hotfix
. To instead work on an
existing branch in a new working tree, use git worktree add
<path> <branch>
. On the other hand, if you just plan to make some
experimental changes or do testing without disturbing existing
development, it is often convenient to create a throwaway working
tree not associated with any branch. For instance, git worktree
add -d <path>
creates a new working tree with a detached HEAD
at
the same commit as the current branch.
If a working tree is deleted without using git worktree remove
,
then its associated administrative files, which reside in the
repository (see "DETAILS" below), will eventually be removed
automatically (see gc.worktreePruneExpire
in git-config(1)), or
you can run git worktree prune
in the main or any linked working
tree to clean up any stale administrative files.
If a linked working tree is stored on a portable device or
network share which is not always mounted, you can prevent its
administrative files from being pruned by issuing the git
worktree lock
command, optionally specifying --reason
to explain
why the working tree is locked.