git:复制本地不存在的远程分支的工作树

git: copy a worktree of a remote branch that is not present at local

在工作中,我有一个项目,它有两个不同的版本,具有一些共同的基本功能。我利用 git worktree 将这些版本放在单独的文件夹中,每个版本在 master 旁边有两个长 运行 分支,而 master 用于通用功能。所以有 3 个文件夹和一个存储库。此外,还有一个远程存储库,所有的东西都被推送到那里。

$git branch -a
*master
 version-1
 version-2
 remote/origin/master
 remote/origin/version-1
 remote/origin/version-2

在家里的电脑上,我有 master 的文件夹,这个本地存储库链接到与我的工作存储库相同的远程。当我得到分支列表时,它就像:

$git branch -a
*master
 remote/origin/master
 remote/origin/version-1
 remote/origin/version-2

我想 checkoutversion-1 并将版本-a 的全部内容复制到本地文件夹,该文件夹被 git 作为 worktree 喜欢我的工作。 git clonegit checkout 会这样做还是我需要做一些更棘手的事情?

最后,我用它来拥有与我在家里工作时一样的工作树。

$ git worktree add --checkout ../version-1 version-1
$ git worktree add --checkout ../version-2 version-2

它检查了我在不同文件夹(工作树)中的长 运行 分支。