我应该使用哪个 git worktree 命令来拥有两个本地目录 "share the same remote"

Which git worktree commands should I use to have two local directories "share the same remote"

在 Mercurial 中,当我在本地目录 "C:\my-projects\my-old-hg-repo-checkout" 中签出存储库时,启用“hg share”扩展,命令 hg share C:\my-projects\my-old-hg-repo-checkout C:\my-projects\my-new-hg-repo-checkout将创建一个 "shares the same remote" 的新本地目录(即,如果我在一个目录中拉取远程更改,它们在另一个目录中可见)。

我如何在本地签出 git 目录 "C:\my-projects\my-old-git-repo-checkout" 时做同样的事情,我想在 "C:\my-projects\my-new-git-repo-checkout" 中复制它(同时确保它们 "share the same remote",即从一个目录中拉取远程更改将使它们在另一个目录中可见)?

您想使用 git worktree 命令为您的本地 git 存储库创建额外的工作树:

git clone <url of remote repo>
cd <directory>
git worktree add <path-to-new-directory> <branch_name>

您的 git 存储库现在有两个工作树,每个工作树位于不同的目录中。您可以使用其他 git worktree add 命令添加任意数量的工作树。请注意,两个工作树不能签出相同的分支。

git fetch 从远程更新本地存储库,并且由于两个工作树都附加到同一个本地存储库,因此您将在两个工作树中更新信息。

有关 git worktree 命令的文档,请参阅 https://git-scm.com/docs/git-worktree