解決Visual Studio 中的合併衝突 - Microsoft Docs

文章推薦指數: 80 %
投票人數:10人

下圖顯示Git 中變更如何衝突的基本範例。

在此範例中,main 分支和Bugfix 分支會更新相同的源程式碼。

Diagram that shows a merge conflict. 跳到主要內容 已不再支援此瀏覽器。

請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。

下載MicrosoftEdge 其他資訊 目錄 結束焦點模式 閱讀英文 儲存 目錄 閱讀英文 儲存 Twitter LinkedIn Facebook 電子郵件 目錄 解決VisualStudio中的合併衝突 發行項 08/08/2022 6位參與者 本文內容 適用于:VisualStudioVisualStudioforMacVisualStudioCode 當您將某個分支合併到另一個分支時,一個分支中的認可檔案變更可能會與另一個分支中的變更衝突。

Git會嘗試使用存放庫中的歷程記錄來解決這些變更,以判斷合併的檔案看起來應該是什麼。

當它不清楚如何合併變更時,Git會停止合併,並告訴您哪些檔案發生衝突。

瞭解合併衝突 下圖顯示Git中變更如何衝突的基本範例。

在此範例中,main分支和Bugfix分支會更新相同的源程式碼。

如果您嘗試將Bugfix分支合併至main,Git就無法判斷合併版本中使用的變更。

您可能想要保留主要分支、Bugfix分支或兩者的某些組合中的變更。

使用主要分支中的合併認可來解決此衝突,以協調兩個分支之間的衝突變更。

最常見的合併衝突案例會在您將更新從遠端分支提取到本機分支(例如,從原始/Bugfix提取到本機Bugfix分支)。

您可以用相同的方式解決這些衝突:在本機分支上建立認可以協調變更,然後完成合併。

防止合併衝突 只要檔案內容不會在認可之間大幅變更,Git就適合在大部分情況下自動合併檔案變更。

如果您的分支遠在主要分支後方,請考慮在開啟提取要求之前重新開始分支。

重設基底的分支將會合並到您的主要分支,而不會發生衝突。

解決合併衝突 如果您要與相同分支中的其他人共同作業,當您推送變更時,可能會發生合併衝突。

VisualStudio會偵測您正在使用的本機分支是否在其遠端追蹤分支後方,然後為您提供選擇的選項。

注意 如果您的遠端存放庫支援強制推送,您可以使用Git>設定加以啟用。

在此範例中,選取[提取],然後選取[推送]以包含引進至遠端存放庫的變更。

如果您在提取變更或嘗試合併兩個分支時發生任何合併衝突,VisualStudio會在[Git變更]視窗、[Git存放庫]視窗中,以及任何發生衝突的檔案中通知您。

[Git變更]視窗會顯示[未合併的變更]底下有衝突的檔案清單。

若要開始解決衝突,請按兩下檔案。

或者,如果您有在編輯器中開啟衝突的檔案,您可以選取[開啟合併編輯器]。

在[合併編輯器]中,使用下列任一方法來開始解決衝突(,如編號的螢幕擷取畫面所示): 逐行流覽您的衝突,然後選取核取方塊來選擇保留右邊或左側。

保留或忽略所有衝突的變更。

在[結果]視窗中手動編輯程式碼。

提示 如果您不喜歡合併編輯器中的預設版面配置,您可以使用齒輪下拉式功能表來變更它。

例如,下列螢幕擷取畫面顯示垂直檢視的外觀: 當您完成解決合併衝突時,請選取[接受合併]。

針對所有衝突的檔案重複此程式。

使用[Git變更]視窗來建立合併認可並解決衝突。

注意 如果您需要保留檔案的所有變更,您可以在[未合併的變更]區段中按一下滑鼠右鍵,然後選取[保留目前(本機)而不需開啟合併編輯器。

後續步驟 若要繼續您的旅程,並深入瞭解如何解決衝突,請參閱合併命令的Git網頁。

另請參閱 VisualStudio中的Git體驗 VisualStudio和GitHub:一起更好 本文內容



請為這篇文章評分?