LoginSignup
1
0

More than 3 years have passed since last update.

Git コンフリクトの解消

Last updated at Posted at 2020-07-25

コンフリクトとは

AとBの作業ブランチがあるとする。
まずAがリモートリポジトリにプッシュされ、マージされる。
次にBがリモートリポジトリにプッシュされる。
このとき、 AとBで変更内容に対立が起こった場合、どちらを採用すればようのか分からなくなる。
この対立をコンフリクトという。

コンフリクト発生

GitHubにプッシュした際に以下の表示が出たらコンフリクトが起きているということ。
コンフリクト発生.png

解消の流れ

1.ローカルでmasterブランチに切り替える
2.リモートのmasterブランチをプルする
3.作業ブランチに切り替える
4.masterブランチをマージする
5.コンフリクトが発生している部分を修正する
6.リモートにプッシュする

1.ローカルでmasterブランチに切り替える

$ git checkout master

2.リモートのmasterブランチをプルする

$ git pull origin master

3.作業ブランチに切り替える

$ git checkout B_branch

4.masterブランチをマージする

$ git merge master

5.コンフリクトが発生している部分を修正する

コンフリクト発生部分.png

<<<<<<< HEAD
ここが作業ブランチの変更内容

=======

ここがmasterの変更内容
.>>>>>>> master

今回は両方の変更を取り込むことにします。

6.リモートにプッシュする

$ git add .
$ git commit -m "コンフリクト解消内容"
$ git push origin HEAD

コンフリクト解消.png

これでコンフリクトが解消できました!

1
0
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
1
0