Gitマスター育成プログラム(第3ヶ月目:リモートリポジトリを活用したチーム開発)
目的: ローカルリポジトリをリモートリポジトリ(GitHub)に接続し、チーム開発の基本的なワークフローを習得する。
9. ローカルリポジトリをリモートリポジトリに接続する
9.1 GitHubにリモートリポジトリを作成
- GitHubにログインし、新しいリポジトリを作成
- リポジトリ名を決定(例:
team-project) - Public か Private かを選択

- 「Create repository」をクリック
9.2 ローカルリポジトリをリモートに接続
既にローカルにあるリポジトリのディレクトリに移動して右クリックして「Open Git Bash here」を選択。
リモートリポジトリを追加(usernameは自分のユーザー名にすること)
git remote add origin git@github.com:username/team-project.gitリモートリポジトリの設定を確認
git remote -vローカルの main ブランチをリモートにプッシュ (mainブランチがある前提)。
main ブランチが存在しても、何もコミットがない場合、Git は push を許可しません。リポジトリに少なくとも1つのコミットを作成しましょう。
git push -u origin mainGitHubで main ブランチがプッシュされたことを確認

main ブランチがプッシュされたことを確認10. リモートリポジトリへの操作
Git 演習: Bさんのローカルリポジトリに既に my_project がある場合の対応
前提
- ローカルリポジトリ名:
my_project - リモートリポジトリ名:
team-project - Aさんが
team-projectに変更をプッシュ - Bさんのローカルに既に
my_projectがある
Bさんがリモートの変更を取得する方法
Bさんはリモートの最新の変更を取得し、ローカルを更新する必要があります。
1. Bさん: git status で作業ツリーの状態を確認
まず、Bさんはローカルリポジトリ(my_project)の状態を確認します。
git status
- クリーンな状態("nothing to commit")の場合 → 次のステップへ
- 変更がある場合(
modifiedやuntrackedのファイルがある)- 変更をコミットする(
git add . && git commit -m "ローカルの変更を保存") - もしくは、一時的に変更を退避する(
git stash)
- 変更をコミットする(
2. Bさん: git remote -v でリモートリポジトリの確認
現在のリモートリポジトリを確認します。
git remote -v
出力例:
origin git@github.com:sayconCoJp/team-project.git (fetch)
origin git@github.com:sayconCoJp/team-project.git (push)
originが正しく設定されていればOK- 違うリポジトリが設定されている場合
- 正しいリポジトリに変更する
git remote set-url origin git@github.com:sayconCoJp/team-project.git3. Bさん: git fetch でリモートの最新情報を取得
Aさんがリモートにプッシュした変更を取得する。
git fetch origin
- これにより、リモートの最新の変更情報がローカルにダウンロードされる。
- ただし、まだローカルブランチには影響を与えない。
4. Bさん: git branch -a でリモートブランチの確認
リモートリポジトリに新しいブランチが追加されたかを確認。
git branch -a
出力例:
* main
remotes/origin/main
remotes/origin/feature-a
remotes/origin/feature-aが見えれば、Aさんの変更がリモートに反映されていることを確認できる。
5. Bさん: git pull で最新の変更を取得
main ブランチの最新の変更をローカルに適用する。
git pull origin main
- もしブランチが存在しない場合(例:
feature-a)、以下のコマンドで取得。
git checkout -b feature-a origin/feature-a
6. Bさん: 変更を確認
Aさんの変更が反映されているか確認。
git log --oneline --graph
ls
cat file-a.txt # Aさんの変更が反映されているか確認
7. Bさん: 変更を加えてリモートにプッシュ
Bさん も main に変更を加え、リモートにプッシュする。
echo "Bさんの追加変更" >> file-a.txt
git add file-a.txt
git commit -m "Bさんが file-a.txt を更新"
git push origin main
8. Aさん: git pull で Bさん の変更を取得
今度は Aさん が git pull を実行し、Bさんの変更を取得。
git pull origin main
cat file-a.txt # 変更内容を確認
Bさんのローカルリポジトリがある場合の対応まとめ
| 操作 | コマンド |
|---|---|
| ローカルの変更を確認 | git status |
| リモートリポジトリのURLを確認 | git remote -v |
| 最新のリモート情報を取得 | git fetch origin |
| リモートブランチを確認 | git branch -a |
| 最新の変更をローカルに適用 | git pull origin main |
| 新しいブランチを取得 | git checkout -b feature-a origin/feature-a |
| 変更を加えてリモートにプッシュ | git push origin main |
ポイント
git cloneは不要(すでにmy_projectがあるため)- リモートリポジトリの状態を確認する
git fetchを実行し、リモートの最新情報を取得するgit pullでリモートの変更をローカルに適用する- 必要なら新しいブランチをチェックアウトする
cat file-a.txt # 変更内容を確認
11. チーム開発のワークフロー
11.1 ブランチを活用した開発フロー
develop ブランチを作成し、リモートにプッシュ
git branch develop
git switch develop
git push -u origin developfeature-UI というブランチを作成し、index.html を作成
git branch feature-UI
git switch feature-UI
echo "<h1>Hello, UI</h1>" > index.html
git add index.html
git commit -m "UIデザインを追加"feature-UI をリモートにプッシュ git push origin feature-UI
git push origin feature-UI11.2 プルリクエスト(Pull Request, PR)
GitHub上で feature-UI のプルリクエストを作成し、develop にマージ
メンバーにレビューを依頼
問題がなければマージ
12. 練習問題
問題1: ローカルリポジトリをリモートに接続
git initで新しいローカルリポジトリを作成README.mdを作成し、「リモートリポジトリの練習」と記述してコミット- GitHubに新しいリポジトリを作成
git remote add originでリモートと接続git push origin mainでリモートにプッシュ
問題2: チーム開発を想定したブランチ管理
developブランチを作成し、リモートにプッシュfeature-authというブランチを作成し、auth.txtを作成git pushでfeature-authをリモートに送信- GitHubで
feature-authのプルリクエストを作成し、developにマージ
問題3: 他のメンバーの変更を取得
mainブランチにいる状態で、別のメンバーがfeature-dbをリモートにプッシュしたと仮定git fetchを実行し、リモートの変更を取得git merge origin/feature-dbで変更をローカルに統合git log --oneline --graphで履歴を確認
問題4: コンフリクトを解決
mainでconflict.txtを作成し、適当な内容をコミットしてプッシュfeature-updateでconflict.txtを異なる内容に変更し、コミット後にプッシュfeature-updateをmainにマージしようとし、コンフリクトを発生させる- 手動でコンフリクトを解決し、マージを完了
問題5: GitHubでフォーク & プルリクエスト
- 別のユーザーのGitHubリポジトリをフォーク
- 自分のリポジトリに
git cloneしてローカルに取得 fix-bugというブランチを作成し、コードを修正git pushでリモートに送信し、GitHubでプルリクエストを作成- オリジナルのリポジトリの管理者にレビューしてもらう
問題6: 過去のバージョンをGitHubから復元
git log --onelineで過去のコミットを確認- 2つ前のコミットのIDを使って
git checkout <コミットID>で過去の状態に移動 - その状態で新しいブランチ
rollback-testを作成し、git pushでリモートに保存 - GitHub上で
rollback-testの内容を確認
この第3ヶ月目の練習を通して、リモートリポジトリを活用したチーム開発に慣れていきましょう!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール

- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。
最新の投稿
新人エンジニア研修講師2026年2月28日初心者が選ぶべき道しるべ!データ分析の魔法「クラスタリング」完全ガイド
新人エンジニア研修講師2026年2月28日f(x, y) とf(x; y) って何が違うの?
新人エンジニア研修講師2026年2月28日AIの深層へようこそ!逆伝播バックプロパゲーションの仕組みを完全マスター
新人エンジニア研修講師2026年2月28日機械学習で必須のscikit-learn関数ベスト10
