問題
プロジェクトも終わりが見えてきて、制作中のbranchをmasterとmergeしたいとき。
まず制作中のbranchからpull requestをします。(Github上で行えます)
ところがどっこいこのようなメッセージが出てきました。
There isn’t anything to compare. master and edit_branch are entirely different commit histories.
masterとedit_branch(制作branch)は全く異なるコミットを持つものです。比較できません。
というような訳かとおもいます。
もっというと、この二つはそもそも何の関係性も持たないので、remote(Github上)では、比較するなんてことはできません。ということのようです(間違っていたらご指摘ください…)。
###解決策
remote上で、edit_branchのmasterは、これよ〜と知らせるためにターミナルで以下を打ち込みます。
git branch --set-upstream-to=<remote>/<branch> master
//例
git branch --set-upstream-to origin/edit_branch master
これでedit_branchとmasterの関係性が構築できました。
あとは以下を叩きます。
git checkout edit_branch
git pull
git checkout master
git pull
git merge edit_branch
git push origin master
この順でmergeまで完了しました。
ちなみに
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/xxx/xxx.git'
hint: Updates were rejected because the tip of your current branch is behind
ということが起きるかもしれません。
わたしは以下のように強制的にpushしてしまいましたが…
git push -f origin master
もっといい方法があればぜひ教えていただきたいです!
備忘録でした。