繁体   English   中英

如何使用 Git 在 Visual Studio Code 中的分支之间切换?

[英]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 中,我正在查看左下角的分支图标以查看我在哪个分支中工作。

Visual Studio Code 分支图标

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

如果我查看硬盘,我从 test 分支所做的更改就在那里,并且没有单独的 test & master 文件夹。 那么我如何才能再次在 master 分支上工作呢? 我试过结帐,在主分支上同步,但我总是显示测试更改。

一个典型的场景是,我在一个分支上完成了一个新特性的工作,在返回到特性分支之前,我需要切换到 master 来做一个修补程序。 在这些分支之间切换正在逃避我。

在 Visual Studio Code IDE 中,执行以下操作:

  • 在左下角,按下 Git 分支,它会给出一个列表:选择一个要结账的引用
  • 选择远程分支的分支之一。

在 VScode 中切换分支: git checkout branchname 这就是所需要的。

对我来说,我建议你安装 vscode gitlens 扩展( https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens ),然后去左下角。 然后单击分支名称并选择您的分支。

  1. git branch branchName 如果你喜欢命令行

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

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

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

如果您的功能分支上有未提交的更改,并且您切换到master(如果git允许您使用未提交的更改切换分支),则主分支上也会显示相同的未提交更改。 如果未提交的更改与master发生冲突,则git会告诉您在切换到master之前先提交更改。

但是,如果您在功能分支中提交这些更改,然后切换到主服务器,那么这些更改将不会在主分支上可见,因为主分支现在指向不同的提交,并且它缺少您在功能分支上进行的最新提交。

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

  1. 从大师那里拿最新消息
  2. 结帐新分支以获取新功能
  3. 处理您的功能
  4. 分阶段并提交这些更改
  5. 结帐主分支,拿最新[git pull]
  6. 做修补程序并提交到master
  7. 结帐功能分支
  8. Merge / Rebase功能分支与master
  9. 继续处理您的功能

gif_1

重现步骤 :

  1. 访问 VSCode 左侧的“Source Control”选项卡
  2. 点击刷新按钮旁边的“三个小点”
  3. 单击“结帐到...”选项
  4. 选择要切换到的分支

享受

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM