Путеводитель по Руководству Linux

  User  |  Syst  |  Libr  |  Device  |  Files  |  Other  |  Admin  |  Head  |



   git-worktree    ( 1 )

управляйте несколькими рабочими деревьями (Manage multiple working trees)

REFS

In multiple working trees, some refs may be shared between all
       working trees and some refs are local. One example is HEAD which
       is different for each working tree. This section is about the
       sharing rules and how to access refs of one working tree from
       another.

In general, all pseudo refs are per working tree and all refs starting with refs/ are shared. Pseudo refs are ones like HEAD which are directly under $GIT_DIR instead of inside $GIT_DIR/refs. There are exceptions, however: refs inside refs/bisect and refs/worktree are not shared.

Refs that are per working tree can still be accessed from another working tree via two special paths, main-worktree and worktrees. The former gives access to per-working tree refs of the main working tree, while the latter to all linked working trees.

For example, main-worktree/HEAD or main-worktree/refs/bisect/good resolve to the same value as the main working tree's HEAD and refs/bisect/good respectively. Similarly, worktrees/foo/HEAD or worktrees/bar/refs/bisect/bad are the same as $GIT_COMMON_DIR/worktrees/foo/HEAD and $GIT_COMMON_DIR/worktrees/bar/refs/bisect/bad.

To access refs, it's best not to look inside $GIT_DIR directly. Instead use commands such as git-rev-parse(1) or git-update-ref(1) which will handle refs correctly.