3.ブランチ操作とチーム開発

この章では、Gitのブランチ機能について学び、Eclipseを使ってブランチを管理する方法を実践します。
また、チーム開発でのGitの運用方法についても解説します。


3.1 ブランチの概念と重要性

🔹 ブランチとは?

ブランチ(Branch)は、コードの流れを分岐させる仕組みです。
開発の際に、本番用のコードとは別に新しい機能を試すときに便利です。

💡 例え:ブランチ = 「小説のストーリー分岐」
例えば、小説を書いているとします。
途中で「Aの結末」と「Bの結末」の2つのパターンを考えたとき、それぞれを別のノートに書いて試してみますよね?
Gitのブランチも同じで、新機能を別のブランチで開発して、うまくいけば本流に統合するという流れになります。


🔹 ブランチを使うメリット

本番用のコードを壊さずに開発できる!
複数人で同時に異なる機能を開発できる!
バグ修正や新機能開発がしやすい!


🔹 Git Flowの基本

チーム開発では、「Git Flow」というブランチ管理の方法がよく使われます。

ブランチ説明
main(またはmaster)本番リリース用の安定したブランチ
develop開発のメインブランチ(ここで作業する)
feature/新機能開発用のブランチ(ここで変更を加える)
hotfix/緊急のバグ修正用のブランチ

💡 例:ブランチの流れ

  1. feature/login でログイン機能を開発
  2. 開発が終わったら develop に統合
  3. develop のテストが完了したら main に統合

こうすることで、安全に開発が進められます!


3.2 Eclipseでのブランチ管理

🔹 新しいブランチを作成する

新機能を開発するために、新しいブランチを作成してみましょう。

📌 手順

  1. 「Gitリポジトリ」ビューを開く(ウィンドウ → 表示 → その他 → Git → Gitリポジトリ)
  2. 「ブランチ」タブを選択し、「新しいブランチ」ボタンをクリック
  3. ブランチ名を入力(例:feature/login)
  4. 「完了」をクリック

✅ これで、新しいブランチが作成されました!


🔹 ブランチを切り替える

ブランチを切り替えることで、別の作業内容に移ることができます。

📌 手順

  1. 「Gitリポジトリ」ビューを開く
  2. 「ブランチ」タブで、切り替えたいブランチを右クリック → 「チェックアウト」

ブランチを変更すると、その時点のコードに戻ることができます!


🔹 ブランチをマージする

開発が終わったら、**作業ブランチをmainブランチに統合(マージ)**します。

📌 手順

  1. 「Gitリポジトリ」ビューを開く
  2. 「ブランチ」タブで、統合したいブランチ(例:develop)をチェックアウト
  3. 「マージ」ボタンをクリックし、統合するブランチを選択(例:feature/login)
  4. 「完了」をクリック!

これで開発した内容が本流に統合されました!


3.3 リモートリポジトリとの連携

🔹 プッシュ(Push)とは?

プッシュ(Push)は、ローカルリポジトリで行った変更をリモートリポジトリ(GitHubなど)に反映する操作です。

📌 手順

  1. プロジェクトを右クリック → 「チーム → リモートへプッシュ」
  2. 「リモートリポジトリの選択」で、GitHubのURLを指定
  3. 「完了」をクリック!

✅ これで、GitHubに変更が反映されました!


🔹 プル(Pull)とは?

**プル(Pull)**は、リモートリポジトリの最新の変更をローカルに取り込む操作です。

📌 手順

  1. プロジェクトを右クリック → 「チーム → リモートからプル」
  2. 「完了」をクリック

他の開発者が更新した最新のコードを取得できます!


🔹 フェッチ(Fetch)とマージの違い

Gitには、「フェッチ(Fetch)」と「プル(Pull)」の2つのコマンドがあります。

操作説明
フェッチ(Fetch)リモートの最新情報を取得するが、ローカルには適用しない
プル(Pull)リモートの最新情報を取得し、自動的にローカルに適用

💡 例

  • フェッチ = 「本棚の最新の目録を確認する」
  • プル = 「本棚から最新の本を取り出して読む」

プルをするとローカルに影響を与えるので、慎重に使おう!


3.4 コンフリクト(競合)の解決方法

コンフリクト(Conflict)とは、同じファイルの同じ部分を異なるブランチで変更したときに発生します。

🔹 コンフリクトが発生した場合

  1. コンフリクトしたファイルを開く
  2. どちらの変更を残すか選択する
    • 「両方の変更を適用」
    • 「一方の変更のみ適用」
  3. 修正が終わったら、再度コミットする

💡 例

<<<<<<< HEAD
System.out.println("こんにちは");
=======
System.out.println("Hello");
>>>>>>> feature/login

✅ 「こんにちは」にするか、「Hello」にするかを選んで修正します。


✅ まとめ

この章では、ブランチを使った開発手法を学びました。

ブランチを作成して新機能を開発
ブランチを切り替えて作業を進める
マージして本流に統合する
リモートリポジトリとプッシュ・プルする
コンフリクトを解決する

次の章では、実際にチーム開発のワークフローを体験してみます! 🚀


セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。