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



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

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

在家用 PC 上,我有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

它在不同的文件夹(工作树(中签出我长期运行的分支。

最新更新