「Git: There is no tracking information for the current branch」
エラー対策について。エラーが起こった時の状況はこちら。
-
GitHubでリポジトリを作成 → 「MITライセンスを追加する」を選択
→ GitHubリポジトリには 最初の1コミット(LICENSEファイル) ができている状態。 -
一方ローカルでは
git init
→git add .
→git commit -m "first commit"
と作業済み。 -
ここで
git remote add github ...
→git push github main
を実行すると、
または下記メッセージが表示。
その後pullを試すと、今度はVS Codeで
Git: There is no tracking information for the current branch
というエラーが出て進めなくなる。
原因
-
GitHub側は
main
ブランチに LICENSE コミットが存在する。 -
ローカル側も別の
main
ブランチを持っている。 -
履歴がまったく別物(unrelated histories) なので、そのまま push できない。
-
さらにローカルのブランチがリモートの
main
と「追跡設定」されていなかったため、pull自体もできなかった。
対策手順
-
リモートを追跡させる
-
リモートの変更を取り込む
-
--allow-unrelated-histories
を付けることで、ローカルとGitHubの「別々に作られた履歴」をマージできる。
-