dialog
ブランチを作成し、それをmaster
ブランチにマージしようとしています。 2つの競合があります。 CONFLICT (delete/modify)
を解決する方法がわかりません。何をすべきか教えてください。
$ git checkout master
$ git merge dialog
CONFLICT (delete/modify): res/layout/dialog_item.xml deleted in dialog and modified in HEAD. Version HEAD of res/layout/dialog_item.xml left in tree.
Auto-merging src/com/DialogAdapter.Java
CONFLICT (content): Merge conflict in src/DialogAdapter.Java
Automatic merge failed; fix conflicts and then commit the result.
src/DialogAdapter.Java
を開き、競合を修正し、git add src/DialogAdapter.Java
を実行しました。他に何をする必要がありますか?
競合メッセージ:
CONFLICT(削除/変更):res/layout/dialog_item.xmlはダイアログで削除され、HEADで変更されました
は、res/layout/dialog_item.xml
がマージしている 'dialog'ブランチで削除されたが、HEAD(マージ先のブランチ)で変更されたことを意味します。
だから、あなたは決定する必要があります
git rm res/layout/dialog_item.xml
」を使用してファイルを削除しますまたは
git add res/layout/dialog_item.xml
」でHEADから(おそらく編集後に)バージョンを受け入れます次に、「git commit
」でマージを終了します。
Gitはマージコミットを作成していることを警告することに注意してください。(まれに)不要な場合です。おそらく、そのケースがそれほど珍しくなかった時代から残っています。
通常、git mergetool
を実行するだけで、変更したファイルを保持するか、削除したままにするかを確認するメッセージが表示されます。これは、ファイルごとに複数のコマンドを実行するのではなく、1つのコマンドであるため、最も高速な方法です。
特定のサブディレクトリに多数の削除されたファイルがあり、それらをすべてファイルを削除することで解決したい場合、これを行うことができます。
yes d | git mergetool -- the/subdirectory
d
は、各ファイルの削除を選択するために提供されています。 m
を使用して、変更されたファイルを保持することもできます。 mergetool
の実行時に表示されるプロンプトから取得:
Use (m)odified or (d)eleted file, or (a)bort?
WindowsでGit Guiを使用している場合、