A Little Each Day

note to self

gitでpullかpushすると"You have not concluded your merge"というエラーが発生する

こんにちは。本日はgitでpullやpushをした時に、コンフリクトが発生していた場合の対処方法についてです。

git pushとgit pull

gitでpullまたはpushをすると以下のようなメッセージが表示される場合があります。

error: You have not concluded your merge (MERGE_HEAD exists).
hint: Please, commit your changes before merging.
fatal: Exiting because of unfinished merge.


これはコンフリクトが起こっているために、マージが上手くできず完了していない状態です。


解決策

まずは直前のマージコミットを取り消します。

マージを一旦リセットします。

$ git reset --merge


次にpullをします。

$ git pull origin master


するとvim(またはデフォルトで指定しているテキストエディタ)が立ち上がります。

ここで新たにコミットメッセージを残します。

$ git commit -m "競合解決"


保存をしたら改めてpushし直します。

$ git push


これで通常どおり問題なくpullとpushができたと思います。



本日は以上です。