LoginSignup
7
9

More than 5 years have passed since last update.

教授「Conflict.... なにそれ.. ブランチ消せ!作業やりなおせ!」

Last updated at Posted at 2017-02-10

Conflictとは...?

一言でいえばmergeの衝突です
たとえば、

冬ですね
とても寒いですね
お元気ですか

という元のファイルがあったとして、この状態でエンジニアAとエンジニアBがそれぞれbranchを作って作業したとします。

Aがmergeした内容.html
冬ですね
とてもあたたかいです
お元気ですか

Aがmergeしたあとに、

Bがmergeしようとした内容.html
冬ですね
とても眠いです
お元気ですか

すると、gitの方で
「同じ時期にbranch作った二人のエンジニアが違うこと言ってるぞ... どうしたらいい?」
ってエンジニアBに聞いてくるんですねー
これがConflictです。たぶん。

対処法

Terminalで治す場合

git statusでConflictを起こしてるファイルの確認
vim 対象ファイルを開く

Conflictファイル.html
冬ですね
<<<<<<< HEAD
とても眠いです
=======
とてもあたたかいです
>>>>>>> 
お元気ですか

こんな感じになってるとおもうので<<<<とか====とか消して必要な部分を修正して保存して終了
できたらgit add 対象ファイルで pushまですれば直ります

GitHubで治す場合

mergeボタン押そうとするとボタンの上に
This branch has conflict that must be resolute
みたいなボタンができてると思うので押すとやはり

Conflictファイル.html
冬ですね
<<<<<<< HEAD
とても眠いです
=======
とてもあたたかいです
>>>>>>> 
お元気ですか

のようなことが書いてあると思うので、<<<<と===>>>>を消して問題を解決させて
Mark as resolveを押してcommit changedボタンを押せば直せます。

githubで治す場合はできるだけ少なく影響範囲の少ないやつが良いですね。
バグったりしそうなので、できればterminalで直した方がいいかもしれないです

7
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
9