GitHub で誰かのリポジトリをフォークしたので、元のリポジトリで行われたコミットと更新で自分のバージョンを更新したいと思います。これらは、自分のコピーをフォークした後に行われたものです。
origin で行われた変更をプルしてリポジトリに組み込むにはどうすればよいですか?
ベストアンサー1
元のリポジトリ (フォークしたもの) をリモートとして追加する必要があります。
からリポジトリのフォークに関する GitHub ドキュメント:
クローンが完了すると、リポジトリ
origin
には GitHub 上のフォークを指す「 」という名前のリモートが作成されます。
名前に惑わされないでください。これは、フォーク元の元のリポジトリを指すものではありません。そのリポジトリを追跡しやすくするために、「upstream」という名前の別のリモートを追加します。$ cd PROJECT_NAME $ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git $ git fetch upstream # then: (like "git pull" which is fetch + merge) $ git merge upstream/master master # or, better, replay your local work on top of the fetched branch # like a "git pull --rebase" $ git rebase upstream/master
また、gh
上記の操作を容易にするコマンドラインツール( )。
仕組みを図で表すと次のようになります: