簡體   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