👍

GitでFork元のコミットを取り込む

2024/10/26に公開

GitHubのプロジェクトにContributeする場合は、Forkして作業を行うことが多いと思います。その場合はgit pullでは取り込めないため、upstreamを利用します。

取り込み手順

remoteのupstreamにFork元のリポジトリが登録されていることを確認する

$ git remote -v
origin	https://github.com/your-username/your-forked-repository.git (fetch)
origin	https://github.com/your-username/your-forked-repository.git (push)
upstream	https://github.com/original-owner-username/original-repository.git (fetch)
upstream	https://github.com/original-owner-username/original-repository.git (push)

originがFork先、つまりあなたのForkしたリポジトリで、upstreamがFork元のリポジトリです。もしremoteのupstreamにFork元のリポジトリが登録されていなければ、git remote addコマンドを実行し、upstreamにFork元のリポジトリを登録する。

git remote add upstream https://github.com/original-owner-username/original-repository.git

remoteのupstreamに登録したリポジトリを取ってくる

git fetch upstream

Forkしたリポジトリの適当なブランチをチェックアウトし、取ってきたremoteのupstreamの該当ブランチをマージする

git checkout master
git merge upstream/master

Discussion