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