オープンソースやチーム開発でよく使われる「fork」。
でも「fork した後にどうやってローカルで開発環境を整えればいいの?」と迷う方も多いと思います。

この記事では、fork → clone → 開発 → プルリクエストまでの基本的な流れをまとめます。

スポンサーリンク

1. リポジトリを fork する

  1. 対象のリポジトリ(例: https://github.com/example/project)にアクセス
  2. 右上の Fork ボタンをクリック
  3. 自分の GitHub アカウント配下にコピーが作成されます

これで、自分専用のリポジトリができました。

2. ローカルに clone する

ターミナルを開き、fork したリポジトリを clone します。

# 自分のアカウントに作られたリポジトリを clone
git clone https://github.com/<your-username>/<repository-name>.git

# ディレクトリに移動
cd <repository-name>

これでローカル環境にソースコードが準備できました。

スポンサーリンク

3. upstream(元リポジトリ)を登録する

fork したリポジトリは、自分の GitHub アカウント配下にあるコピーです。
元のリポジトリ(本家リポジトリ)と同期できるように「upstream」として登録します。

# 本家リポジトリを追加
git remote add upstream https://github.com/<original-owner>/<repository-name>.git

# 登録確認
git remote -v

表示例:

origin    https://github.com/<your-username>/<repository-name>.git (fetch)
origin    https://github.com/<your-username>/<repository-name>.git (push)
upstream  https://github.com/<original-owner>/<repository-name>.git (fetch)
upstream  https://github.com/<original-owner>/<repository-name>.git (push)

4. 最新の変更を取り込む(同期)

開発を始める前や、定期的に元リポジトリの更新を取り込みます。

# upstream の変更を取得
git fetch upstream

# 自分の main ブランチにマージ
git checkout main
git merge upstream/main

これで最新状態に追従できます。

5. 開発用ブランチを作成する

直接 main ブランチで作業するのは避け、作業用ブランチを切りましょう。

# 新しいブランチを作成して移動
git checkout -b feature/add-new-function

6. コードを修正 & コミットする

好きなエディタでコードを修正し、コミットします。

# 変更確認
git status

# ファイルをステージング
git add <変更したファイル>

# コミット
git commit -m "新機能を追加しました"

7. 自分のリポジトリに push する

git push origin feature/add-new-function

GitHub 上の自分の fork に新しいブランチが反映されます。

8. Pull Request を作成する

  1. GitHub の自分のリポジトリにアクセス
  2. 「Compare & pull request」ボタンをクリック
  3. タイトル・説明を書いて本家リポジトリに送ります

これで、開発者にレビューしてもらう準備が整いました 🎉

まとめ

fork したリポジトリで開発する流れは次の通りです:

  1. リポジトリを fork
  2. ローカルに clone
  3. upstream を登録
  4. 最新の変更を同期
  5. 開発ブランチを作成
  6. 修正・コミット
  7. 自分の fork に push
  8. Pull Request

この流れをマスターすれば、オープンソース開発やチーム開発にスムーズに参加できると思います。

【別記事案】よくあるエラーと対処法まとめ

fork したリポジトリで開発するときに遭遇しやすいエラーと、その解決方法をまとめました。

  • push できない(error: failed to push some refs
  • upstream の変更を取り込むとコンフリクトする
  • remote が正しく設定されていない
  • main に直接コミットしてしまった
  • pull request が作成できない

👉 詳細はこちらの記事へ
➡️ fork開発でよくあるエラーと対処法


この記事が気に入ったら『目黒で働く分析担当の作業メモ』ご支援をお願いします!

※OFUSEに飛びます


おすすめの記事