

などの疑問や悩みを解決してまいります。
There isn't anything to compare.とは
プルリクエストを作成しようとしたところ、以下のように「There isn't anything to compare.」と表示がされて上手くプルリクエストを作成することができない状態になることがあります。

比較するものが何も有りません
比較するものが無いです、ブランチは完全に異なるコミット履歴です

原因
リモートリポジトリにすでに自動生成したファイルが存在しているにもかかわらず、クローンをせずにgit remote add origin
を実行してしまったことが原因です。


リポジトリを作成する際にREADEMEファイルやgitignoreファイルを作成できる設定があります。
そこで自動生成したことを忘れてしまい、git remote add origin
→ git push
の手順で進めてしまったことが今回の原因です。
誤った手順
git init
でGitリポジトリを初期化を行うgit add .
で管理したいファイルをステージングするgit commit -m "○○○○"
でファーストコミットするgit remote add ○○○○ <https://github.com/yourusername/your-repository.git>
でリモートリポジトリと連携する。git push
でリモートリポジトリに反映する
こちらの手順の詳細については以下の記事を参考にしてください。
-
-
【Git&GitHub】リポジトリ名を変更した後の対応について
続きを見る
本来リモートリポジトリにファイルが存在しないまっさらな状態であればこちらの手順で問題ないのですが、今回はすでにリモートリポジトリにファイルが存在している状態ですので手順が一部変更になります。
解決方法
一度作成してしまったローカルリポジトリとは別のディレクトリにリモートリポジトリをclone
してからpush
までを実行し直します。
正しい手順
git init
でGitリポジトリを初期化を行うgit clone <https://github.com/yourusername/your-repository.git>
でローカルリポジトリにクローンするgit add .
でファイルをステージングするgit commit -m "○○○○"
でコミットするgit push
でリモートリポジトリに反映する
上記の手順でpush
まで進めたら、次に以下の手順で強制的にmain
ブランチとmaster
ブランチの内容を同じにします。
ブランチの内容を同一にする手順
git checkout master
で現在の作業ブランチをmaster
に切り替えるgit branch main master -f
でmaster
ブランチの状態を強制的にmain
ブランチに反映させるgit checkout main
で現在の作業ブランチをmain
に切り替えるgit push origin main -f
でローカルのmain
ブランチをリモートリポジトリに強制的にプッシュする

main
ブランチがいつの間にか作成されています…。
main
ブランチで行われたからですね。これにより、ローカルのmain
ブランチ(=master
と同じ状態)で行った変更が、リモートのmain
ブランチにも反映され、以前のリモートブランチの履歴は上書きされます。
デフォルトブランチの削除
READEMEファイルを自動生成時に作成されたmain
ブランチと、ローカルリポジトリの内容をリモートリポジトリに反映させるために作成されたmaster
ブランチの2つのブランチが存在している状態ですが、1つのブランチにするため以下の手順を実行します。

main
ブランチがdefault blanchに設定されており、defaultに設定されているブランチは削除することができないので、Defaultの変更を行います。メニューの「Settings」をクリックします。

SettingsページのDefault branchの「⇄」アイコンをクリックします。

「main▾」をクリックするとブランチを選択できるのでmasterを選択します。選択したら「Update」をクリックします。

クリックしたらダイアログが表示されるので、「I understand update the default branch.」をクリックします。

ここまでの手順でブランチのデフォルトがmainからmasterに変更されているはずですので、main
ブランチは削除することができるようになっています。
次にリポジトリページに戻り、リポジトリ名の下のブランチ名をクリックします。
クリックするとプルダウンメニューが表示されるので、「View all branches」をクリックします。

現在のブランチが確認できるので、mainのごみ箱マークをクリックします。

ゴミ箱アイコンをクリックしたらページを更新してください。
更新したらBranchがmasterだけになったら削除が成功しています。

ここまでの手順で「There isn't anything to compare.」の対応と、ブランチを1つにすることができました。
参考記事
リモートリポジトリ新規作成時のThere isn't anything to compare.の解決方法 #Git - Qiita