プルしようとすると、次のメッセージが表示されます。
Automatic merge failed; fix conflicts and then commit the result.
それで、私は these の指示に従うために(gitが示唆するように)競合を修正しようとします。
最初に行う必要があるのは、「問題のある」ファイルをテキストエディタで開いて、そのような行を見つけることです。
If you have questions, please
<<<<<<< HEAD
open an issue
=======
ask your question in IRC.
>>>>>>> branch-a
問題は、ファイルにそのようなものが表示されないことです。特に、HEADを検索しましたが、そこにはありませんでした。
Gitの競合を解決するにはいくつかの方法があります。ここでは、GUIとテキストエディターを使用して説明します。
メモ帳、gedit、vim、nano、さらにはEclipseなど、お気に入りのエディターを開きます。
ファイルに競合がある場合は、必ずgit [<<<<<<<<
]のような競合マーカーを追加してください。
テキストエディターでファイルを開くと、HEADまたは<<<<<<< HEAD
の後のベースブランチからの変更が表示されます。
========
、他のブランチからの変更を>>>>>>>>YOUR_BRANCH_NAME
として分割します
ブランチの変更を保持するかどうかを決定できます。変更内容を保持したい場合は、競合マーカーである<<<<<<<, =======, >>>>>>>
を削除してから、マージを実行してください。
変更をコミットするコマンド。
git add . or git add "your_file"
git commit -m "Merge conflicts resolved"
ファイルでマージの競合が非常に多い場合はどうなりますか?その場合、GUIを使用できますが、GUIを選択するかどうかは個人的な選択です。 GUIでは、並べてdiffを確認できます。初心者でも簡単に変更を確認できます。
使用するmergetoolを使用するには、gitを設定する必要があります。例:meld、kdiff3またはvimdiff。繰り返しますが、彼らが好むのはユーザー次第です。 meldを使用します。ここで、これらのツールをインストールする必要があります。インストール後、構成する必要があります。
git config merge.tool meld
マージの競合を解決できます
git mergetool -t meld
次に、テキストエディターを使用して解決する手順2〜4に従って、マージの競合を解決できます。