fork したリポジトリで開発していると、初学者がつまずきやすいエラーがあります。代表的なものとその解決方法をまとめました。

スポンサーリンク

① push できない(error: failed to push some refs)

原因: リモート(GitHub 上)のブランチがローカルと食い違っている。

対処法:

# リモートの変更を取り込む
git pull origin <ブランチ名>

# もう一度 push
git push origin <ブランチ名>

⚠️ それでも競合がある場合は、git merge で解決してから push してください。

② upstream の変更を取り込むとコンフリクトする

原因: 元リポジトリの変更と自分の修正が同じ部分にかぶっている。

対処法:

# upstream の変更を取り込む
git fetch upstream
git merge upstream/main

エディタで <<<<<<< ======= >>>>>>> と表示された箇所を手動で修正し、
修正後に以下を実行します。

git add <修正したファイル>
git commit
スポンサーリンク

③ remote が正しく設定されていない

git remote -v で確認したときに、upstream が存在しない or 間違っているケース。

対処法:

# upstream を再登録する
git remote remove upstream
git remote add upstream https://github.com/<original-owner>/<repository>.git

④ 別のブランチで作業していたのに main にコミットしてしまった

原因: ブランチを切り忘れて main に直接コミットしてしまった。

対処法: コミットを新しいブランチに移動させる。

# 新しいブランチを作成(コミットを引き継ぐ)
git checkout -b feature/fix-bug

その後、main を元の状態に戻したい場合は:

git checkout main
git reset --hard upstream/main

⑤ pull request ができない(ボタンが出ない)

原因: push 先を間違えて、本家リポジトリに直接 push しようとしているケース。

対処法:
origin が自分のリポジトリを指しているか確認しましょう。

git remote -v

もし間違っていたら再設定します:

git remote set-url origin https://github.com/<your-username>/<repository>.git

まとめ

fork してローカルで開発する流れに加えて、よくあるエラーの対処法も知っておくと安心です。

  • push エラーは pull → merge → push
  • コンフリクトはエディタで手動解決
  • remote 設定ミスは git remote -v で確認
  • ブランチを使い分けて安全に作業

これらを押さえておけば、オープンソース貢献やチーム開発でスムーズに進められるはずです。


この記事が気に入ったら『目黒で働く分析担当の作業メモ』ご支援をお願いします!

※OFUSEに飛びます


おすすめの記事