场景:我有一个本地克隆的具有多个分支的 github 存储库。每个分支可能需要不同的依赖项。
问题:我想在工作时在这些分支之间切换,因此需要多个
pipenv
虚拟环境(每个分支一个)。鉴于默认情况下 pipenv
将单个虚拟环境与项目根文件夹关联,我该如何实现这一目标?
git worktree
)。因为每个分支都有一个单独的目录,所以pipenv
无需任何额外更改即可工作。
假设您当前位于工作树中(假设在
main
分支上),并且您还有名为 branch1
和 branch2
的其他分支,可能如下所示:
$ git worktree add ../branch1 branch1
$ git worktree add ../branch2 branch2
现在您
main
在当前目录中签出,branch1
在../branch1
中签出,并且branch2
在../branch2
中签出。您可以在这些目录之间 cd
并像平常一样处理它们,并且 pipenv
将执行您想要的操作,因为每个分支现在都位于单独的目录中。