4.実践!チーム開発ワークフロー

この章では、実際のチーム開発でGitをどのように活用するかを学びます。
Gitを使った共同作業の流れを実践し、チームでの開発効率を上げる方法を理解しましょう!


4.1 実践シナリオ:チーム開発でのGitの使い方

🔹 シナリオ概要

あなたのチームは、「ログイン機能を追加する」という開発タスクを担当しています。
この作業をチームメンバーと共同で進めるためにGitを使います

🔹 チーム開発でのGitワークフロー

開発チームでは、以下の流れで作業を進めます。

1️⃣ リモートリポジトリをクローンする
2️⃣ 新しいブランチを作成する(feature/login)
3️⃣ コードを編集してコミットする
4️⃣ リモートリポジトリにプッシュする
5️⃣ 他のメンバーの変更を取り込む(プル)
6️⃣ 開発が終わったらマージする

それでは、実際にこの流れをEclipseで試してみましょう! 🚀


🔹 1️⃣ リモートリポジトリをクローンする

まず、GitHubにあるプロジェクトを自分のPCにコピー(クローン)します。

📌 手順

  1. GitHubのリポジトリURLをコピー
    • GitHubで対象のリポジトリを開き、「Clone」ボタンをクリック
    • HTTPSのURLをコピー(例:https://github.com/user/MyProject.git
  2. Eclipseでクローンを実行
    • Eclipseで「ファイル → インポート」を選択
    • Git → Gitリポジトリのクローン」を選択し、「次へ」をクリック
    • コピーしたURLを入力し、「次へ」
    • 保存場所を選択し、「完了」

✅ これで、リモートのリポジトリがローカルにコピーされました!


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

次に、新機能を開発するための**「feature/login」ブランチ**を作成します。

📌 手順

  1. Eclipseで「Gitリポジトリ」ビューを開く
  2. ブランチ」タブを開き、「新しいブランチ」を作成
  3. ブランチ名を「feature/login」にする
  4. 完了」をクリック

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


🔹 3️⃣ コードを編集してコミットする

ブランチを作成したら、ログイン機能を追加し、変更を**Gitに記録(コミット)**します。

📌 手順

  1. Eclipseでコードを変更
    • 例として、「Login.java」というファイルを作成し、次のコードを追加:
    public class Login { public void loginUser() { System.out.println("ユーザーがログインしました"); } }
  2. 変更をコミットする
    • プロジェクトを右クリック → 「チーム → コミット
    • 変更したファイルをステージングエリアに追加
    • コミットメッセージを入力(例:「ログイン機能を追加」)
    • コミット」をクリック

これで変更がローカルリポジトリに記録されました!


🔹 4️⃣ リモートリポジトリにプッシュする

ローカルの変更を**リモートリポジトリに反映(プッシュ)**します。

📌 手順

  1. Eclipseでプロジェクトを右クリック → 「チーム → リモートへプッシュ
  2. リモートリポジトリのURLを選択(GitHubのURL)
  3. 「ブランチの選択」で「feature/login」を選択
  4. 「完了」をクリック!

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


🔹 5️⃣ 他のメンバーの変更を取り込む(プル)

チームの他のメンバーが別の変更を加えた場合、最新の状態を**ローカルに取り込む(プル)**必要があります。

📌 手順

  1. プロジェクトを右クリック → 「チーム → リモートからプル」
  2. 最新の変更がローカルに適用される

これでチームの最新コードを取得できました!


🔹 6️⃣ 開発が終わったらマージする

ログイン機能の開発が完了したら、「feature/login」を「develop」にマージします。

📌 手順

  1. 「Gitリポジトリ」ビューを開く
  2. 「develop」ブランチをチェックアウト(切り替え)
  3. 「マージ」ボタンをクリックし、「feature/login」を選択
  4. 「完了」をクリック!

これで新機能が開発ブランチに統合されました!


4.2 Gitのトラブルシューティング

開発を進めていると、Gitでトラブルが発生することがあります。
ここではよくある問題とその解決方法を紹介します。


🔹 「pushできない!」そんな時の解決策

✅ エラーメッセージ:rejected(fetch first)

これはリモートに自分が持っていない変更がある場合に発生します。

🔹 解決方法

  1. まずリモートの変更を取り込む git pull origin feature/login
  2. コンフリクトがない場合は、再度pushする git push origin feature/login

🔹 「コンフリクト発生!」解決方法と再発防止策

✅ コンフリクトが発生する理由

同じファイルの同じ部分を別の人が異なる内容で編集した場合に発生します。

🔹 解決方法

  1. コンフリクトしたファイルを開く
  2. どちらの変更を採用するか決める
  3. 修正したら再度コミットしてプッシュする

🔹 「履歴を間違えた!」リバートとリセットの使い方

✅ 変更を取り消したい場合

git reset --hard HEAD~1  # 最新のコミットを取り消す

または、

git revert HEAD  # 直前の変更を打ち消すコミットを作成

4.3 Gitを活用するためのTIPS

おすすめのGit GUIツール

  • Sourcetree(視覚的にGitを管理)
  • GitKraken(直感的な操作が可能)

GitHubの活用

  • Pull Request(PR)を活用
  • Issuesでタスク管理
  • Wikiでチームのドキュメント管理

✅ まとめ

この章では、実際のチーム開発ワークフローを体験しました。

ブランチを作成し、チーム開発を進める
リモートリポジトリと連携し、最新のコードを管理
トラブル発生時の対処法を理解する

これで、EclipseでのGit活用がしっかり身につきました! 🚀


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

投稿者プロフィール

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