簡體   English   中英

Visual Studio Code 如何解決與 git 的合並沖突?

[英]Visual Studio Code how to resolve merge conflicts with git?

我試圖將我的分支與另一個分支合並,但出現了合並沖突。 在 Visual Studio Code(版本 1.2.1)中,我解決了所有問題,但是當我嘗試提交時,它一直給我這條消息:

在提交更改之前,您應該首先解決未合並的更改。

我試過用谷歌搜索它,但我找不到為什么它不讓我提交我的更改,所有的沖突都消失了。

使用 VSCode,您可以通過以下 UI 輕松找到合並沖突。 在此處輸入圖像描述

(如果沒有"editor.codeLens": true在用戶首選項中設置"editor.codeLens": true

它指示您擁有的當前更改和來自服務器的傳入更改。 這使得解決沖突變得容易 - 只需按下<<<< HEAD上方的按鈕。

如果您有多項更改並希望一次應用所有更改 - 打開命令面板(視圖 - > 命令面板)並開始輸入 merge - 將出現多個選項,包括Merge Conflict: Accept Incoming等。

經過反復試驗,我發現您需要暫存具有合並沖突的文件,然后您可以提交合並。

對於那些很難找到“合並按鈕”的人。

僅當您精確單擊“合並沖突標記”時,才會顯示帶有合並選項的小燈泡圖標:

<<<<<<<

步驟(在 VS Code 1.29.x 中):

  1. 單擊左側的“源代碼管理”按鈕。
  2. 請參閱側欄中的合並更改。
  3. 這些文件有合並沖突。

VS Code > 源代碼管理 > 合並更改(示例)

您收到的錯誤消息是 Git 仍然認為您尚未解決合並沖突的結果。 事實上,你已經有了,但你需要告訴 Git 你已經通過解析的文件添加到索引中來做到這一點。

這有一個副作用,您實際上可以只添加文件而不解決沖突,Git 仍然會認為您有。 所以你應該努力確保你已經真正解決了這些沖突。 您甚至可以在提交之前運行構建並測試代碼。

對於 VS Code 1.38 或者如果您找不到任何“燈泡”按鈕。 密切注意沖突上方的灰色文本; 您可以采取一系列行動。

對於源代碼控制面板的合並視圖中的 VSCode 1.70.2,“yours”和“theirs”兩側的復選框位於所選沖突塊中間的行號旁邊,而不是行上方的文本按鈕。

如果有沖突:使用vs-code逐個文件解決。 在每個文件之后單擊 vs-code 中的“完全合並”按鈕。 當沒有剩余文件時,運行命令:

git commit

(不要依賴 vs-code 的“提交”按鈕,它會變灰,這是錯誤的。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM