在VS代码窗口中切换到另一个git分支,同时在VS代码的另一个示例中保留主分支更改

k2fxgqgv  于 2023-02-14  发布在  Git
关注(0)|答案(1)|浏览(234)

我想匹配main分支和test分支之间的一些代码行,但是每个分支都有自己的VS代码窗口。当在不同的VS代码窗口执行git switch test时,是否可以使用自己的VS代码窗口来维护main分支中的git更改?

我的尝试

我尝试有两个工作区,假设workspace-main用于main分支,workspace-test用于test分支。因此,我设法有两个VS代码窗口的示例具有相同的项目。然而,每当我在workspace-test分隔窗口上执行git switch test时,workspace-main窗口也将其git分支更改为test
我还没有看到任何例子在互联网上或这里。我想知道是否有可能,而不是切换分支的一个单一的VS代码窗口。

bksxznpy

bksxznpy1#

使用git的worktree特性。(链接到docs:https://git-scm.com/docs/git-worktree)。
工作树允许您拥有多个 checkout 文件夹,每个 checkout 文件夹可以是不同分支/提交的 checkout ,但是它们共享同一个.git/文件夹(例如,工作树中的fetch将数据提取到共享的.git/文件夹,所以其他工作树不需要做同样的fetch).它允许同时查看和编辑不同分支/提交的多个 checkout ,并且对于每一个具有不同的工作树和分级树。
然后将每个工作树切换到所需的分支/提交,并在不同的VS代码窗口中打开它们。
要创建新的工作树,请使用add <path> [<commit-ish>]。有关命令用法的更多信息,请参见文档。

相关问题