見出し画像

Step5:ついにmainコードにマージ(新人がアプリチームの一員になるまで)【Xcode&Github】

こんにちわ。素未(スミ)です。
本日は、合同会社ワインスキャンにおいて行なっているアプリ開発において

レビューを対応したらマージを行う

をご紹介致します。
なお、この方法は下記のバージョンを活用して行なっている状況でありバージョン変更に伴い使えないなどが起こった場合は、ご了承ください。


Xcode 13.4.1
iOS 15
Swift 5.5
Git version 2.32.1 (Apple Git-133)
PC:MacOS Monterey 12.6


弊社のサイト紹介(合同会社ワインスキャン)
ご興味があれば是非!見て下さい。


それでは、本題に入りたいと思います!今までの前提と最終アウトプットに変更はありません。

〜〜〜〜〜〜〜〜〜〜〜〜(前提)〜〜〜〜〜〜〜〜〜〜〜〜〜
あなたは新しくプロジェクトメンバーにアサインされた新人社員とします。そのため、前からプロジェクト自体は存在し、GithubとXcodeを活用したプロジェクト開発が進んでいる状態とします。
今回のあなたの最終アウトプットは、
「新規プロジェクトで初めてタスクを依頼され、そのタスク内容を大元のコードに反映し、自分が実施したタスクを完了させること」
です。その為、今回はレビュー依頼側となります。
大きくステップは下記になります。

①ターミナルを活用し、Githubの設定を行う
②リモートリポジトリからのプロジェクトを自分のローカルリポジトリで取得する
③自分が割り当てられた部分のコードを修正できる環境を準備する
④Github上でレビューの依頼を実施する
⑤レビューを対応したらマージを行う
⑥自分が行ったタスクの整理・整頓を行う

※一部修正

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
それでは、頑張っていきましょう!
※本記事は下記の状態ができる様になります。
⑤レビューを対応したらマージを行う
前回の内容で、レビュー依頼を実施することまではできましたね。

今回は、レビューを対応したらマージを行うことを目指しましょう!

今までの整理

今までに実施した内容について、簡単ですが整理した図が下記になります。

step4までの状態

このように、リモートリポジトリ上に、自分が修正したリポジトリをPR(Pull Request)した状態になっています。
そのため、レビューを行う人は、このリモートリポジトリの「sumi/add_figureView#1」をレビューすることになります。

レビューが完了

素晴らしいことに、今回はレビューをして頂いた結果、
私のコードは正しい動作になっていた状態であったことにします。
※修正要望や修正の仕方に関しては、また別の記事で紹介しますね。

正しい動作になっている状態であるため、リポジトリのmainと合わせる(merge)ことを今から実施致します。
なお、この合わせるタイミングで、
他のファイルとの編集が被っていますよー(コンフリクトが発生している)状態が度々見受けられますので、その場合の修正方法もケースに分けてご説明します。

ケース1:コンフリクトが発生していない場合

コンフリクトが発生していない場合は、簡単に言うとmainに対して今回の変更を加えても問題無いと言うことになります。そのため、github上での画面としては下記の内容が表示されるため、

コンフリクトが発生していない状態

この画面上の、「Merge pull request」を押すことでマージすることができます!おめでとうです!これで、自分が書いたコードがプロジェクトメンバー全員に対して貢献できたことになります!
ちなみに、この場合の状態を図で表すと下記の様になります。

コンフリクトが発生していない状態

ケース2:コンフリクトが発生している場合

コンフリクトが発生している場合は、コンフリクト(両方の修正が加わっているコード部分がある)の部分を解消する必要があります。Githubの場合、コンフリクトが発生すると、下記の画面が表示され教えてくれます。

コンフリクトが発生時のGithub上での表記

また、ここで「Resolve conflicts」をクリックすると、

コンフリクトが発生している場所として、
あなたの修正場所 と 被っているmainのコード場所
を下記のような表現で教えてくれます。

<<<<<<< sumi/Add_figureView#1
  今回追加したコード部分の表記			
=======
    main側で元々記載されていたコード部分の表記
>>>>>>> main

この部分を確認し、「今回の修正箇所は私の方が正しいコード」であれば、main側での元々の記載されていたコード部分を削除して下さい。
*注意: <<<<や===は分かり易く表現するために記載されたものであるため、buildするとエラーが出ます。正しい状態に変更できた場合は、その表現コードを削除しましょう。

これで、正しい状態のコードにRemodifiedすることができたら、右上の
「Mark as resolved」をクリックし、修正した状態のコードをCommitして下さい。
そうすると、
コンフリクトが発生していない表記に画面が変化しています!
これでマージすることができる状態となりましたので、ケース1と同様にマージを実行しましょう。
ちなみに、この場合の状態を図で表すと下記の様になります。

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

以上で、レビューを対応したらマージを行う手段について記載をさせて頂きました。

それではこれで第5ステップは終了となります。

①ターミナルを活用し、Githubの設定を行う
②リモートリポジトリからのプロジェクトを自分のローカルリポジトリで取得する
③自分が割り当てられた部分のコードを修正できる環境を準備する

④Github上でレビューの依頼を実施する
⑤レビューを対応したらマージを行う
⑥自分が行ったタスクの整理・整頓を行う

次は、

自分が行なったタスクの整理・整頓を行う

となります。よろしくお願い致します。
あと少しですね!頑張りましょう!


よろしければサポート頂けると幸いです!子供へのパパ時間提供の御礼(お菓子)に活用させて頂きます☆