🐈⬛
ローカルとリモートが分岐してしまった場合の対処法
はじめに
GitHubでプッシュしようとした時にエラーが発生したため、まとめます。
問題
プッシュしようとした時に、以下のようなエラーが表示されました。
On branch main
Your branch and 'origin/main' have diverged,
and have 1 and 7 different commits each, respectively.
上記のエラーメッセージは以下のようなことを示していました
- ローカルブランチ(PC上)にだけあるコミットが1つ
- リモート(GitHub上の
origin/main
)にだけあるコミットが7つ - 作業ディレクトリには未コミットの変更はなし(
working tree clean
)
原因・解決方法
ローカルとリモートが分岐していたため、両方の変更を統合しました。リモートの7つのコミットを取り込み、自分の1つのコミットをその後に再適用しました。
git pull --rebase
なお、rebase
を使うことで履歴が綺麗に保たれます。
おわりに
このようなエラーはチーム開発の際によく発生するそうです(今回は個人開発でしたが)。
Discussion