From: "Derrick Stolee via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: sunshine@sunshineco.com, gitster@pobox.com, newren@gmail.com,
jn.avila@free.fr, Taylor Blau <me@ttaylorr.com>,
Derrick Stolee <derrickstolee@github.com>,
Derrick Stolee <derrickstolee@github.com>
Subject: [PATCH v2 05/11] worktree: use 'worktree' over 'working tree'
Date: Tue, 22 Feb 2022 00:17:54 +0000 [thread overview]
Message-ID: <2801ae232ae5cd0aa431e90eb37bbaf765d64fa5.1645489080.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1154.v2.git.1645489080.gitgitgadget@gmail.com>
From: Derrick Stolee <derrickstolee@github.com>
It is helpful to distinguish between a 'working tree' and a 'worktree'.
A worktree contains a working tree plus additional metadata. This
metadata includes per-worktree refs and worktree-specific config.
This is the first of multiple changes to git-worktree.txt, restricted to
the DESCRIPTION section.
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Derrick Stolee <derrickstolee@github.com>
---
Documentation/git-worktree.txt | 50 ++++++++++++++++++----------------
1 file changed, 27 insertions(+), 23 deletions(-)
diff --git a/Documentation/git-worktree.txt b/Documentation/git-worktree.txt
index b8d53c48303..27437615436 100644
--- a/Documentation/git-worktree.txt
+++ b/Documentation/git-worktree.txt
@@ -25,45 +25,49 @@ 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
-linkgit:git-init[1] or linkgit: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`.
+tree is associated with the repository, along with additional metadata
+that differentiates that working tree from others in the same repository.
+The working tree, along with this metada, is called a "worktree".
+
+This new worktree is called a "linked worktree" as opposed to the "main
+worktree" prepared by linkgit:git-init[1] or linkgit:git-clone[1].
+A repository has one main worktree (if it's not a bare repository) and
+zero or more linked worktrees. When you are done with a linked worktree,
+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.
+path `../hotfix`. To instead work on an existing branch in a new worktree,
+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'
+worktree not associated with any branch. For instance,
+`git worktree add -d <path>` creates a new worktree 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 linkgit: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.
+`git worktree prune` in the main or any linked worktree 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.
+If the working tree for a a linked worktree 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 worktree is
+locked.
COMMANDS
--------
add <path> [<commit-ish>]::
-Create `<path>` and checkout `<commit-ish>` into it. The new working directory
-is linked to the current repository, sharing everything except working
-directory specific files such as `HEAD`, `index`, etc. As a convenience,
-`<commit-ish>` may be a bare "`-`", which is synonymous with `@{-1}`.
+Create a worktree at `<path>` and checkout `<commit-ish>` into it. The new worktree
+is linked to the current repository, sharing everything except per-worktree
+files such as `HEAD`, `index`, etc. As a convenience, `<commit-ish>` may
+be a bare "`-`", which is synonymous with `@{-1}`.
+
If `<commit-ish>` is a branch name (call it `<branch>`) and is not found,
and neither `-b` nor `-B` nor `--detach` are used, but there does
--
gitgitgadget
next prev parent reply other threads:[~2022-02-22 0:18 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-20 17:54 [PATCH 00/11] Updates to worktree code and docs Derrick Stolee via GitGitGadget
2022-02-20 17:54 ` [PATCH 01/11] worktree: combine two translatable messages Derrick Stolee via GitGitGadget
2022-02-20 20:22 ` Junio C Hamano
2022-02-20 20:29 ` Derrick Stolee
2022-02-20 17:54 ` [PATCH 02/11] worktree: extract copy_filtered_worktree_config() Derrick Stolee via GitGitGadget
2022-02-20 20:26 ` Junio C Hamano
2022-02-20 17:54 ` [PATCH 03/11] worktree: extract copy_sparse_checkout() Derrick Stolee via GitGitGadget
2022-02-20 17:54 ` [PATCH 04/11] worktree: extract checkout_worktree() Derrick Stolee via GitGitGadget
2022-02-20 21:59 ` Taylor Blau
2022-02-20 17:54 ` [PATCH 05/11] worktree: use 'worktree' over 'working tree' Derrick Stolee via GitGitGadget
2022-02-20 20:42 ` Junio C Hamano
2022-02-20 20:48 ` Derrick Stolee
2022-02-24 14:33 ` Philip Oakley
2022-02-24 15:53 ` Derrick Stolee
2022-03-03 15:41 ` Philip Oakley
2022-02-20 17:54 ` [PATCH 06/11] " Derrick Stolee via GitGitGadget
2022-02-20 17:54 ` [PATCH 07/11] " Derrick Stolee via GitGitGadget
2022-02-20 17:54 ` [PATCH 08/11] " Derrick Stolee via GitGitGadget
2022-02-20 22:29 ` Taylor Blau
2022-02-20 17:54 ` [PATCH 09/11] " Derrick Stolee via GitGitGadget
2022-02-20 22:31 ` Taylor Blau
2022-02-21 2:26 ` Derrick Stolee
2022-02-20 17:54 ` [PATCH 10/11] " Derrick Stolee via GitGitGadget
2022-02-20 17:54 ` [PATCH 11/11] " Derrick Stolee via GitGitGadget
2022-02-20 22:37 ` Taylor Blau
2022-02-21 2:11 ` Derrick Stolee
2022-02-20 22:38 ` [PATCH 00/11] Updates to worktree code and docs Taylor Blau
2022-02-20 22:41 ` Taylor Blau
2022-02-22 0:17 ` [PATCH v2 " Derrick Stolee via GitGitGadget
2022-02-22 0:17 ` [PATCH v2 01/11] worktree: combine two translatable messages Derrick Stolee via GitGitGadget
2022-02-22 0:17 ` [PATCH v2 02/11] worktree: extract copy_filtered_worktree_config() Derrick Stolee via GitGitGadget
2022-02-22 0:17 ` [PATCH v2 03/11] worktree: extract copy_sparse_checkout() Derrick Stolee via GitGitGadget
2022-02-22 0:17 ` [PATCH v2 04/11] worktree: extract checkout_worktree() Derrick Stolee via GitGitGadget
2022-02-22 0:17 ` Derrick Stolee via GitGitGadget [this message]
2022-02-22 7:22 ` [PATCH v2 05/11] worktree: use 'worktree' over 'working tree' Junio C Hamano
2022-02-23 6:47 ` Elijah Newren
2022-02-22 0:17 ` [PATCH v2 06/11] " Derrick Stolee via GitGitGadget
2022-02-22 7:22 ` Junio C Hamano
2022-02-22 14:06 ` Derrick Stolee
2022-02-22 0:17 ` [PATCH v2 07/11] " Derrick Stolee via GitGitGadget
2022-02-22 0:17 ` [PATCH v2 08/11] " Derrick Stolee via GitGitGadget
2022-02-22 19:49 ` Taylor Blau
2022-02-22 21:24 ` Derrick Stolee
2022-02-23 0:05 ` Taylor Blau
2022-02-22 0:17 ` [PATCH v2 09/11] " Derrick Stolee via GitGitGadget
2022-02-22 0:17 ` [PATCH v2 10/11] " Derrick Stolee via GitGitGadget
2022-02-22 0:18 ` [PATCH v2 11/11] " Derrick Stolee via GitGitGadget
2022-02-22 19:50 ` [PATCH v2 00/11] Updates to worktree code and docs Taylor Blau
2022-02-23 20:24 ` Junio C Hamano
2022-02-23 6:51 ` Elijah Newren
2022-02-23 14:26 ` Derrick Stolee
2022-02-23 14:29 ` [PATCH v3 " Derrick Stolee via GitGitGadget
2022-02-23 14:29 ` [PATCH v3 01/11] worktree: combine two translatable messages Derrick Stolee via GitGitGadget
2022-02-23 14:29 ` [PATCH v3 02/11] worktree: extract copy_filtered_worktree_config() Derrick Stolee via GitGitGadget
2022-02-23 14:29 ` [PATCH v3 03/11] worktree: extract copy_sparse_checkout() Derrick Stolee via GitGitGadget
2022-02-23 14:29 ` [PATCH v3 04/11] worktree: extract checkout_worktree() Derrick Stolee via GitGitGadget
2022-02-23 14:29 ` [PATCH v3 05/11] worktree: use 'worktree' over 'working tree' Derrick Stolee via GitGitGadget
2022-02-23 14:29 ` [PATCH v3 06/11] " Derrick Stolee via GitGitGadget
2022-02-23 14:29 ` [PATCH v3 07/11] " Derrick Stolee via GitGitGadget
2022-02-23 14:29 ` [PATCH v3 08/11] " Derrick Stolee via GitGitGadget
2022-02-23 14:29 ` [PATCH v3 09/11] " Derrick Stolee via GitGitGadget
2022-02-23 14:29 ` [PATCH v3 10/11] " Derrick Stolee via GitGitGadget
2022-02-23 14:29 ` [PATCH v3 11/11] " Derrick Stolee via GitGitGadget
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2801ae232ae5cd0aa431e90eb37bbaf765d64fa5.1645489080.git.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=derrickstolee@github.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jn.avila@free.fr \
--cc=me@ttaylorr.com \
--cc=newren@gmail.com \
--cc=sunshine@sunshineco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.