如何使用GIT在VSCode中的分支之间切换?

时间:2019-06-03 14:19:01

标签: git visual-studio-code branch

我正在尝试锻炼VSCode和GIT中分支的工作方式。以前,我使用过TFS,它非常简单-您创建一个分支,并且所有分支都存储在磁盘上的单独文件夹中,因此您可以轻松地在一个或另一个分支上工作。

因此,在VSCode中,我从master创建了一个新的分支“ test”。在VSCode中,我正在查看左下角的分支图标,以查看我正在使用的分支。

VSCode Branching Icon

它说我正在测试中,所以我对file1进行了更改,提交并同步了更改。我现在想在master分支上工作,所以我左下角,切换到master,但是我在test分支中所做的更改仍显示在编辑器中。

如果我查看硬盘,则从test分支进行的更改就在那里,并且没有单独的test&master文件夹。那么如何再次在master分支上工作?我已经尝试过结帐,并在master分支上进行了同步,但是我总是显示测试更改。

一个典型的场景是,我在分支上研究新功能的过程中,在返回功能分支之前,我需要切换到master进行修补程序。在这些分支之间切换使我逃脱了。

3 个答案:

答案 0 :(得分:4)

在vs代码中,请执行以下操作:

  • 在左下角按git分支,这将给出一个列表:Select a ref to checkout
  • 选择“远程”分支的分支之一。

答案 1 :(得分:0)

TFS和Git作为版本控制系统的工作方式非常不同。就这个问题而言,

TFSVC中,使用基于路径的分支。团队成员通常为他们工作的每个分支设置一个额外的工作区。

在Git中,分支只是指向提交的指针。在Git中更改分支实质上意味着指向不同的提交。如果您要切换到的分支的提交没有任何结构更改,那么即使切换到该分支后,您的目录结构也保持不变。

如果功能分支上有未提交的更改,并且您切换到主分支(提供的git允许您切换具有未提交的更改的分支),则相同的未提交的更改也将在主分支上可见。如果未提交的更改与master发生冲突,那么git会告诉您先提交更改,然后再切换到master。

但是,如果您在功能分支上提交了这些更改,然后切换到master,则这些更改将不会在master分支上显示,因为master分支现在指向另一个提交,并且缺少您在Feature分支上所做的最新提交。

您的方案的典型工作流程是-

  1. 从大师那里获取最新信息
  2. 签出新分支以获取新功能
  3. 使用您的功能
  4. 阶段并提交那些更改
  5. 结帐主分支,采用最新的[git pull]
  6. 执行修补程序并提交给主管理员
  7. 结帐功能分支
  8. 与master合并/变基功能分支
  9. 继续使用您的功能

答案 2 :(得分:0)

要在VScode中切换分支:git checkout branchname。一切都需要。