【Git】別リポジトリの指定ブランチの差分を取り込む

  1. 「repo-A」をforkして「repo-B」というリポジトリを作成した
  2. 「repo-A」に変更・更新があった
  3. 「repo-A」の変更・更新を「repo-B」に取り込みたい

そんな時に使えます。

下記ページがすごく分かりやすくまとまっているのでぜひ読んでいただきたい↓

fork元のリポジトリへの変更をforkしたリポジトリに反映する by @chihiroさん(opens new window)

以下メモ。

取り込みたいブランチの名前を「hoshii-branch」とする(適当)。

「repo-B」にブランチを作るよ

今回は「repo-A」の「hoshii-branch」を同名で「repo-B」に欲しいので、 「repo-B」にも「hoshii-branch」作ってそこで受け入れることにします。

$ git checkout -b hoshii-branch

リモートに登録

$ git push -u origin hoshii-branch

$ git branch -aでチェック

リモートリポジトリの一覧をチェック

$ git remote

originがあることを確認

「repo-A」を「repo-B」に追加

$ git remote add repo-a <repo-Aのurl>

「repo-a」として追加。 追加後、もう一度$ git remoteして、「repo-a」があることを確認

fetchするよ

$ git fetch repo-a

repo-a/<ブランチ名>で呼べるようになった

取り込みたい「repo-A」のブランチのローカルブランチを作るよ

$ git checkout -b repo-a-hoshii-branch repo-a/hoshii-branch

repo-a-hoshii-branchは分かれば何でもOK。

$ git branch -arepo-a-hoshii-branchができたことをチェック。

マージするよ

repo-a-hoshii-branchhoshii-branchにマージする。

今のbranchがhoshii-branchであることを確認して

$ git pull origin hoshii-branch

最新か試してから、

$ git merge --no-ff repo-a-hoshii-branch

pushしたら完了!

$ git push origin hoshii-branch