LoginSignup
1
0

はじめに

エンジニアに転職して3ヶ月経ちましたが、プルリクエスト(以下PR)をmergeするときはいまだに緊張します。特に初めてconflictが起きたときは、⚠️マークが表示されているのを見て、何かやらかしてしまったのではないかと焦りました…取り返しがつかないようなミスはしたくないですよね🥺
本日は、PRをmergeするときにConflictが起きた時の解消方法を教えていただいたので紹介します。Conflictが起きても、焦らずに対処できるようになりましょう!

背景

作業中のfeatureブランチからdevelopにPRを出している。
GitHub上でPRをmergeしようとしたところ、conflictが発生していることがわかった。
local環境でconflictを解消する方法を先輩から教わった。

PRをmergeするときにlocalでconflictを解消する手順

1. developブランチをpull

まずは、developブランチをpullして最新の状態にしておきましょう。

git checkout develop
git pull origin develop

2. featureブランチに移動してmerge

次に、作業中のfeatureブランチに切り替えて、1.で最新化したdevelopブランチをfeatureブランチにmergeします。

git checkout feature-branch
git merge develop

ここでconflictが発生します。
local環境で起きているだけなので、焦らずに対処しましょう。

3. conflict解消

conflictが発生した場合、VSCodeやForkなどのツールを使用してConflictを解消します。
私は、簡単な変更であればFork上で解消していますが、ソースコードの前後を見ないと判断できないような場合はVSCode上で確認しています。
どちらの修正を取り入れればいいのかをじっくり考えましょう。

4. commit

conflictを解消したら、変更内容をcommitします。

git add .
git commit -m "Merge: Resolve conflict"

5. developブランチにpush

解決したconflictを含むfeatureブランチをdevelopブランチにpushします。

git push origin feature-branch

6. PRを再度merge

これで、conflictが解消されたfeatureブランチがGitHub上のリポジトリにpushされ、PRが再度merge可能になりました。GitHub上でmergeしましょう🎉

終わりに

local環境ではなく、GitHub上でもconflictを解消することはできますが、より安全に対応するために、git操作に慣れるまでは控えた方が良さそうです。
対処方法がわかっていればconflictが起きてしまっても焦らずに対処できそうです。もし自分1人で不安な場合は、先輩に確認してもらいながらmergeしましょう!!

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