浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

【Git】フォークしたリポジトリにフォーク元のリポジトリのコミットを反映する

 題の通りです。Git でフォークしたリポジトリにフォーク元のリポジトリのコミットを反映する方法の紹介です。どちらのリポジトリにとっても後から変更が効きやすい行儀の良い方法は次の記事が詳しいです。

fork元のリポジトリへの変更をforkしたリポジトリに反映する – Qiita

 上記の記事では複数のブランチを使うことでフォーク元のリポジトリの変更とフォーク後のリポジトリの変更がわかる様になっています。この記事ではフォーク元のあるブランチの続きとして自分でコミットをし、フォーク元のそのブランチの変更をそのブランチの中に反映する方法を紹介します。この方法はフォーク元にプルリクエストを受け付けてもらえなさそうな状況、ライブラリの中のコードを直接変更した方が望ましいといった条件がそろった時に特に便利です。

 実際の手順は次です。

# あらかじめフォーク後のリポジトリを clone してローカルに置きます

# 元のリポジトリをリモートリポジトリとして追加する
git remote add 元のリポジトリ名(任意の名前可) 元のリポジトリのGitのURL(cloneする時などに使う .git で終わるURL)

# 元のリポジトリから変更を pull します
git pull 元のリポジトリ名 変更を反映したいブランチの名前

# フォーク後のリポジトリにプッシュします
git push

 あまり使うべき状況にならないため意識されることは少ないですが、リモートリポジトリは複数登録できます。これを利用してフォーク元のリポジトリから差分を取得し、差分をローカルに適用し、ローカルに適用した差分をプッシュすることでフォーク後のリポジトリに反映する、といった処理を行えます。

  • この記事いいね! (0)