繁体   English   中英

不了解在 Visual Studio 2019 中使用 Git 分支(从 Azure DevOps 集成)

[英]Not understanding working with Git branches (integrated from Azure DevOps) in Visual Studio 2019

在 Visual Studio 2019 中使用 Azure Devops 和 Git 相对较新,涉及多个分支(也从未在任何上下文中使用过 Git,所以一直在学习 Git,我认为我在这方面取得了相当好的进展)。 但是,对我在这里概述的行为感到非常沮丧 - 我一定不明白如何实现看起来应该发生的事情。

这是场景(应该是相当基本的 - 重点应该是):在 Azure Devops 中,我有一个组织。 在该组织下是一个带有存储库的项目。 在该存储库中,有一个 Visual Studio 2019 解决方案的master分支,其中包含.sln.csproj以及代码文件等。

我进入 Visual Studio 2019 并连接到 Azure Devops,然后克隆该存储库。 我在 VS 2019 中启动了解决方案。到目前为止一切顺利。

现在我必须进行错误修复。 因此,在 Visual Studio 中,我执行了一个 create-a-new-branch 操作来创建一个名为“MyBugFix”的分支。 我低头查看 Visual Studio 窗口的右下角,并确保我选择了要在其中工作的MyBugFix分支,而不是主分支。 到现在为止还挺好。

我对一些.cs文件进行了一些代码更改。 到目前为止,我一直很好。 在之前的工作中,为了纠正另一个错误,此时我进行了同步以将错误修复到该错误修复分支到 Azure Devops 分支,然后将这些代码更改合并到主分支中。 都好。

但是在这一点上,在这个最新的练习中,让我难倒的是在代码更改方面区分 master 分支和从 master 分支创建的新的单独分支。

返回 2 段,在那里我选择了 MyBugFix 分支来工作。正如我所说,在 VS2019 窗口的右下角(小通知铃图标的左侧),它说(我认为)我是在 MyBugFix 分支中工作。 我对一些 .cs 文件进行了代码更改。

但是现在,在这一点上,如果您愿意,我需要访问 master 分支,以便构建 master 分支代码库并将 dll 发送给某人,比如购买了该应用程序的新客户。

所以在我看来,为了实现这一点,我可以向下到 VS2019 窗口的右下角并选择“master”,这样现在它在通知铃的左侧显示“master”图标而不是“MyBugFix”。

所以我这样做了,我的期望是,当我查看解决方案资源管理器中的代码时,特别是我对其进行了代码更改的 .cs 文件时,我不应该在这些 .cs 文件中看到这些代码更改. 对?

只有我能看到修改后的 .cs 文件。 那些 .cs 文件仍然显示为已签出更改,我看到其中的修改代码,这是我之前在 VS2019 窗口右下角选择“MyBugFix”分支时所做的修改。 即使我认为我已经“切换”回主分支。

我希望我能很好地解释这一点,让你们都能理解正在发生的事情以及我遗漏了什么,并且没有看到如何在 VS2019 中处理多个 git 分支。 如果没有,请让我知道是否需要详细说明该场景。 30,000 英尺的总结是我想要做的就是从使用非主分支切换回主分支并构建主分支。 没有我对非主分支所做的代码修改。 希望这是有道理的。

我会附上我一直参考的VS2019右下角的截图。 TIA :)

在此处输入图片说明

当您切换分支时,任何未提交的更改都会伴随您。 因此,即使您在 master 分支上,您仍然会看到您在 MyBugFix 分支上启动的那些未提交的更改。

因此,您要么需要提交这些更改,要么撤消这些更改,要么它们隐藏起来。

暂无
暂无

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

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