【Git】別リポジトリの指定ブランチの差分を取り込む
- 「repo-A」をforkして「repo-B」というリポジトリを作成した
- 「repo-A」に変更・更新があった
- 「repo-A」の変更・更新を「repo-B」に取り込みたい
そんな時に使えます。
下記ページがすごく分かりやすくまとまっているのでぜひ読んでいただきたい↓
fork元のリポジトリへの変更をforkしたリポジトリに反映する by @chihiroさん
以下メモ。
取り込みたいブランチの名前を「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 -a
でrepo-a-hoshii-branch
ができたことをチェック。
マージするよ
repo-a-hoshii-branch
をhoshii-branch
にマージする。
今のbranchがhoshii-branch
であることを確認して
$ git pull origin hoshii-branch
最新か試してから、
$ git merge --no-ff repo-a-hoshii-branch
pushしたら完了!
$ git push origin hoshii-branch