web-dev-qa-db-ja.com

Visual Studio Code Gitとのマージ競合を解決する方法は?

ブランチを別のブランチとマージしようとしましたが、マージの競合がありました。 Visual Studio Code(バージョン1.2.1)ですべての問題を解決しましたが、コミットしようとすると次のメッセージが表示され続けます。

変更をコミットする前に、まずマージされていない変更を解決する必要があります。

私はそれをグーグルで試しましたが、なぜそれが私の変更をコミットさせないのか分かりません、すべての競合は消えました。

57
annedroiid

試行錯誤の後、マージの競合があったファイルをステージングする必要があることを発見しました。その後、マージをコミットできます。

45
annedroiid

VSCodeを使用すると、次のUIでマージの競合を簡単に見つけることができます。 enter image description here

(トップバーがない場合は、ユーザー設定で"editor.codeLens": trueを設定してください)

現在の変更内容とサーバーからの変更を示します。これにより、競合を簡単に解決できます。<<<< HEAD上のボタンを押すだけです。

複数の変更があり、それらすべてを一度に適用する場合-コマンドパレットを開き([表示]-> [コマンドパレット])、mergeと入力します-Merge Conflict: Accept Incomingなどを含む複数のオプションが表示されます。

71

表示されるエラーメッセージは、Gitがまだマージの競合を解決していないと考えている結果です。実際、すでに持っていますが、解決したファイルをインデックスに追加することでこれを行ったことをGitに伝える必要があります。

これには、実際にファイルを追加するだけの副作用があります-without競合を解決すると、Gitはまだあなたが持っていると思います。したがって、あなたは本当にあなたが衝突を解決したことを確認することに勤勉でなければなりません。コミットする前にビルドを実行してコードをテストすることもできます。

13
Tim Biegeleisen

「マージボタン」を見つけるのに苦労している人のために。

マージオプションが付いた小さな電球アイコンは、「マージ競合マーカー」を正確にクリックした場合にのみ表示されます

<<<<<<<

手順(VSコード1.29.xで):

8
B12Toaster
  1. 左側の「ソース管理」ボタンをクリックします。
  2. サイドバーのMERGE CHANGESをご覧ください。
  3. これらのファイルにはマージの競合があります。

VS Code > Source Control > Merge Changes (Example)

8
Geoffrey Hale