[英]How do you switch between branches in Visual Studio Code with Git?
我正在尝试测试分支在 Visual Studio Code 和 Git 中是如何工作的。 以前我使用过非常简单的TFS - 您创建一个分支,所有这些都存储在磁盘上的一个单独文件夹中,因此您可以轻松地在一个或另一个分支上工作。
因此,在 Visual Studio Code 中,我从 master 创建了一个新分支“test”。 在 Visual Studio Code 中,我正在查看左下角的分支图标以查看我在哪个分支中工作。
它说我正在测试中,所以我对文件 1 进行了更改,提交并同步了更改。 我现在想在 master 分支上工作,所以我转到左下角,切换到 master,但是我从 test 分支所做的更改仍然显示在编辑器中。
如果我查看硬盘,我从 test 分支所做的更改就在那里,并且没有单独的 test & master 文件夹。 那么我如何才能再次在 master 分支上工作呢? 我试过结帐,在主分支上同步,但我总是显示测试更改。
一个典型的场景是,我在一个分支上完成了一个新特性的工作,在返回到特性分支之前,我需要切换到 master 来做一个修补程序。 在这些分支之间切换正在逃避我。
在 Visual Studio Code IDE 中,执行以下操作:
在 VScode 中切换分支: git checkout branchname
。 这就是所需要的。
对我来说,我建议你安装 vscode gitlens 扩展( https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens ),然后去左下角。 然后单击分支名称并选择您的分支。
TFS和Git作为版本控制系统的工作方式非常不同。 就这个问题而言,
在TFSVC中 ,使用基于路径的分支。 团队成员通常为他们所处理的每个分支设置一个额外的工作区。
而在Git中,分支只是提交的指针。 在Git中更改分支本质上意味着指向不同的提交。 如果在您要切换的分支的提交中没有进行结构更改,那么即使切换到该分支后,您的目录结构也保持不变。
如果您的功能分支上有未提交的更改,并且您切换到master(如果git允许您使用未提交的更改切换分支),则主分支上也会显示相同的未提交更改。 如果未提交的更改与master发生冲突,则git会告诉您在切换到master之前先提交更改。
但是,如果您在功能分支中提交这些更改,然后切换到主服务器,那么这些更改将不会在主分支上可见,因为主分支现在指向不同的提交,并且它缺少您在功能分支上进行的最新提交。
您的方案的典型工作流程是 -
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.