この記事では、GitHubでForkしたリポジトリをFork元に合わせて更新する方法をご紹介します。
ローカルリポジトリの操作にはWindows用のGit Bashを利用していますが、macOSやLinuxでも同様のコマンドで操作することができます。
事前準備
以下の状態であることを前提に解説を進めていきます。
- 自分のアカウントでリポジトリをForkしローカルへClone済み
- ForkしてCloneする手順がわからない場合は、『GitHub – リポジトリをFork・CloneしてPull Requestを送る方法』を参考にして下さい。
- Forkしたリポジトリに新しいファイルが追加されたので自分のアカウント側に同期したい
ローカルリポジトリを本家の変更を同期する
まず、ローカルリポジトリにFork元の更新を同期します。
例では、Fork元リポジトリ「projectuser01/test_develop」にファイル「update.php」が追加された変更をローカルリポジトリに同期します。
- 『GitHub.com』にアクセスしてFork元のリポジトリのページを開きます。
- 緑色のボタン「Clone or download」をクリックし、Fork元のリポジトリのURLをコピーします。
- ローカルリポジトリで以下のgitコマンドを実行し、本家リポジトリをupstreamという名称でリモートリポジトリとして設定します。
$ git remote add upstream
※登録名称である「upstream」の部分は、既存の登録名称「origin」等と重複しない限り他の名称でも問題ありません。
- 設定後はgit remoteコマンドを実行して登録を確認することができます。
git remote -v
【実行例】 - git pullコマンドを実行してローカルリポジトリを更新します。
git pull upstream master
※masterブランチ以外から同期する場合は「master」の部分を特定のブランチ名に変更してください。【実行例】
- これでローカルリポジトリはFork元リポジトリの更新が反映されました。新しいファイル「update.php」が反映されていることがわかります。
リモートリポジトリに反映する
ローカルリポジトリへ本家の更新を同期できたら、git pushコマンドを実行して自分のアカウントのリモートリポジトリに反映します。
$ git push origin master
以上でリモートリポジトリへの反映は完了です。
確認のためにGitHubでForkしたリポジトリを開くと、新しいファイル「update.php」が作成されています。
以上の手順で、GitHubでForkしたリポジトリを本家に合わせて更新・同期することができます。開発時に活用してみて下さい。
この記事のテーマに戻る
GitHubの使い方
コメント
はじめまして。
githubで、興味有るリポジトリを探しては、自分のリポジトリに
forkしてローカルにcloneしてビルドして楽しんでましたけど、
fork元の更新を反映させる手順が解らずに放置し、forkした自分のリポジトリを
削除して再度forkからやり直してましたが、fork元の更新を反映させる手順を
探してたらたまたま見つけたこの頁の手順が解りやすくてとても助かりました。
他の頁にも興味深い事を書かれている様なので、参考にさせて頂きます。