- VS Code 上では コミット・プッシュは正常に完了している
- GitHub 上では最新コミットが確認できている
- 一方、リポジトリのトップ画面では変更が反映されていないように見える
これは、ブランチ名の違いが原因の可能性が高いです。
なぜ起きているか
2020年以前の Git では、デフォルトのブランチ名が master でした。
現在は main が標準です。
今回、
- 新しく
git init→ 強制プッシュした際に
master ブランチに push している - しかし GitHub 側では
main ブランチがデフォルト表示 になっている
そのため、
「GitHub 上で更新されていないように見える」
という状態になっています。
※ 実際には master ブランチには最新のコードが存在しています
対処方法
master の内容を main に反映する
以下の手順で main ブランチに最新コードを反映できます。
# main ブランチに切り替え
git checkout main
# master の内容を main に取り込む
git merge master
# main ブランチを GitHub に push
git push origin main
これで、GitHub のトップ画面(main ブランチ)にも
最新のコードが表示されるようになります。
今回のような状況が起きたらどうすればよいか(判断と対処)
① まず「どのブランチに push しているか」を確認する
VS Code またはターミナルで、次を確認してください。
git branch
*が付いているブランチが 今作業しているブランチ です- もし
* masterになっていたら
→ master に commit / push しています
② GitHub で「最新コミットがどこにあるか」を確認する
GitHub 上で次を見ます。
https://github.com/(ユーザー名)/(リポジトリ名)/commits/masterhttps://github.com/(ユーザー名)/(リポジトリ名)/commits/main
👉 どちらかに最新コミットが見えていれば OK
「見えていない=失敗」ではありません。
③ main 以外に最新がある場合の正しい直し方
もし
- master に最新がある
- main が古い
場合は、main に master を取り込むだけで解決します。
git checkout main
git merge master
git push origin main
※ これで GitHub のトップ画面(main)にも反映されます。
なぜ master が突然できてしまったのか(よくある原因)
以下のどれかが起きているケースがほとんどです。
よくある原因① git init を再実行した
git init
を実行すると、環境によっては master が新しく作られる ことがあります。
よくある原因② ブランチ指定なしで強制 push した
git push -f origin master
などを実行すると、
「なければ master を作って push」 されます。
よくある原因③ 古い記事・動画・AIの手順を参照した
- 古い情報:
git push origin master - 現在の標準:
git push origin main
👉 この差分で 意図せず master が復活 することがあります。
今後、同じことを起こさないための注意点(重要)
✅ ① 作業前に「今のブランチ」を必ず見る
VS Code 左下 or ターミナルで確認:
git branch
「main になってから作業する」 を習慣にしてください。
✅ ② push は必ずブランチ名を明示する
曖昧な push を避けます。
# OK(明示)
git push origin main
# 避けたい(暗黙)
git push
✅ ③ 新規作成・再初期化時は最初に main を作る
git init
git branch -M main
git remote add origin https://github.com/xxx/yyy.git
git push -u origin main
※ branch -M main が超重要です。
✅ ④ 「GitHubで更新されていない=失敗」と思わない
- GitHub のトップ画面は デフォルトブランチしか表示されない
- 他ブランチに最新があるだけ、というケースは多い
👉 まず commits を見る が正解です。