GitHubでのpush時のエラーについて③

おはようございます。

朝に難しいタスクをやろうとしてしまうと一日終わって何も終わってないってことになりがちですね。

その反省を活かして今日は朝にブログを書こうと思います。

今日は前回、前々回に引き続き、GitHubでのpush時のエラーについてです。

今回のエラー文はこちらになります。

「Unable to merge nurelated histories in this repository」

では行きましょう。

本題

2つのエラーをくぐり抜けてようやくpushできると思ったら以下のエラー文にぶち当たりました。

f:id:shun_0211:20200505102243p:plain

エラー分を直訳すると、「このリポジトリの無関連の履歴をマージできません」となります。

要約すると、過去に自分がリモートの変更をpullしてから今に至るまでの間にリモートが変更されていますよという状態です。

まったく見に覚えがありませんでしたが、fetch(リモートの変更を引っ張ってくる)してmergeを試してみることにしました。

terminal
git fetch && git merge origin/master


そうしたら、無関係なヒストリーを持つブランチ同士をマージさせることはできないと怒られました。

やっぱり、GitHubはリモートのコードとローカルのコードは全く別物と認識しているみたいですね。

そこで、以下のオプションを付けて再度マージを行いました。

terminal
git merge --allow-unrelated-histories origin/master


コンフリクトが起きていたので修正して、修正したことをgithubに教えました。

コンフリクトが生じたファイルはgitの追跡対象から外れるみたいです。

terminal
git add Gemfile


これで再度mergeしたところできました。

その後、commitしてPushしたら・・・

できました!!


以上、ここまで読んでくださり、ありがとうございました。

役に立ったという方はいいねを、なんかここ違うぞという方はコメント頂けるとうれしいです。では!