Help us understand the problem. What is going on with this article?

コンフリクト発生!焦らず利用する4つのコマンド #git

More than 5 years have passed since last update.

目的

  • コンフリクトが発生した時に焦って何をしたら良いのか迷わないためのメモ。
  • コンフリクトが発生したら焦らず最低限次の4つのコマンドを利用して修正する。
    ※ここでは普段良く利用するものに限定、方法は他にもある。
git status
vi [conflict file]
git add [conflict file]
git commit -m 'fixed conflict'

pullした時、コンフリクトしていることの確認

問題ない場合

Auto-merging app/....php

コンフリクトしている場合

CONFLICT (content): Merge conflict in app/....php

git status

  • コンフリクトしているファイルを確認。
  • 「Unmerged paths:」にあるファイル一覧がコンフリクトしている修正の必要なファイル。
Unmerged paths:
  (use "git add <file>..." to mark resolution)

        both modified:      app/....php

vi [conflict file]

  • 「/<<<」でコンフリクト箇所を検索。
  • 変更点を確認し修正後に保存。
<<<<<<< HEAD
自分の環境の変更点
=======
マージを試みた他の環境での変更点
>>>>>>> [commit id]

※必ずしも自分の環境の変更点を優先しない。理由があって変更されていると思われるので内容を確認の上、修正を行う。

git add [conflict file]

  • コンフリクト修正の完了したファイルをadd。

git commit -m 'fixed conflict'

  • 全てのコンフリクト修正が完了したらcommit。
  • 「-m」オプションでコメントを付けられる。

その後

  • pullしたりpush。

参考サイト

nfnoface
主に自分のメモとして利用しています。 2016年も引き続きCakePHP・PostgreSQLの話題が中心になりそうです。 個人的にはCrystal-langに興味あり。 気分や時々によりメモ内容は変わります。 書き残しておけば繰り返し調べる労力が減るかもしれないと思い立ち2015年から利用しています。
https://teratail.com/users/nfnoface
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away