リモートリポジトリでマージ作業をするのはミスをした時の対処に手間がかかる。ローカルリポジトリで確実にマージ作業を行うことでミスを防ぐ!
◆はじめに
本記事ではGitで作業する際にローカルリポジトリでマージを行う意義とその手順について記載していこうと思います。
ブランチを作成するルールや作業フローなどは各々異なるかとは思いますが、本記事での想定としては下記の前提があるとします。
- ブランチは[develop]を元に[feature-001]を作成。
- [feature-001]をローカルにcloneして作業。
- [feature-001]は作業後[develop]にマージする予定。
- [feature-001]の作業中に[devolop]ブランチで更新があった。
- [feature-001]ブランチに最新の[develop]を取り込み、整合性を取りたい。
-
→マージの際にコンフリクトが起こってしまう!
→[develop]の更新を反映しないと[feature-001]の動作が期待通りにならない!
...etc
-
→ローカルでマージを済ませておくことで、リモートでのマージ作業が簡潔になる!
◆ローカルリポジトリでマージする意義とメリットとは
今回のケースにおいて、特にチームでの開発をイメージしています。最後の「リモートでのマージ作業が簡潔になる」ことの意義としては、マージを実行する人への配慮(もしくはルール)になります。例えば、feature-001
の他にfeature-002
やfeature-003
...など、複数のブランチをマージ作業する際に、マージ実行者が全てのコンフリクトを解消するのはあまりにも手間がかかる事が想像できます。それぞれのブランチ作成者が都度最新版にしておくことで、スムーズなマージ作業が可能になります。
また、リモートでマージ作業をミスると色々と面倒ですが、ローカルであればミスっても作り直すだけなのでそういった面でもメリットがあります。
◆ローカルリポジトリに特定のリモートブランチを持ってくる方法
手順の1として、develop
ブランチをローカルに持って来なければいけません。ローカルリポジトリに特定のリモートブランチを持ってくる方法については下記の記事に手順をまとめていますので知りたい方は参照していただければと思います。
◆ローカルリポジトリでマージする方法
手順の2として、ローカルリポジトリでマージをする方法について下記のリンク先の記事にまとめていますので参照していただければと思います。
コンフリクトについては別途解説していこうと思います。
最後まで見ていただきありがとうございました。