0
0

More than 1 year has passed since last update.

【git】git push する時に エラー(error: src refspec main does not match any error: failed to push some refs to 「リポジトリURL」)

Last updated at Posted at 2023-05-03

症状

リモートリポジトリに最初にPushするときに発生したエラー

$ git push origin main
error: src refspec main does not match any
error: failed to push some refs to 'リポジトリURL'

環境

Paperspace gradient
git version 2.25.1

やったこと 1

GitHubの方でリポジトリを作ったときにREADME.mdを作成していたのでローカルにpullする。

$ git pull origin main
warning: no common commits
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 656 bytes | 43.00 KiB/s, done.
From リポジトリURL
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
fatal: refusing to merge unrelated histories

このエラーは根本が異なるブランチをpullまたはmergeしようとしたときに起こるらしい。今回の場合、ローカルリポジトリでcommitしていたのが原因と考えた。
調べた結果--allow-unrelated-historiesオプションをつけて強制的にpullした後改めてpushしたがエラーに変化なし。

やったこと 2

logを確認する。

$ git log
commit 7632c0297a181a0f3e278c411ff501acb9ccce51 (HEAD -> master)
Merge: 2056fec 667b7dc
Author: *******************************
Date:   Wed May 3 11:56:39 2023 +0000

    Merge branch 'main' of リポジトリURL

commit 2056fec0bd32eb7bc9cbfc24fd334a3012764b9d
Author: *******************************
Date:   Wed May 3 10:46:03 2023 +0000

    feat: Add Notebook files

commit 667b7dca165ca58bf3f828d0e8f8b265c77d4f48 (origin/main)
Author: *******************************
Date:   Wed May 3 19:16:23 2023 +0900

    Initial commit

ローカルのmasterにマージされていると読み取れた(正しいか自信なし)。リモートのブランチ名はmainなのでローカルのブランチ名をmaster -> mainに変える。

$ git branch -m master main

をした後にもう一度pushでリモートにpushできた。

原因と対応

  1. リモートリとローカルのcommitに差があったこと -> 最初にgit pullする。
  2. リモートリとローカルのbrabch名が違ったままpushしたこと -> 'git branch -m 対象ブランチ名 変更後ブランチ名'で対応する。

Git 2.28以前ではgit initしたときに作成されるブランチ名はデフォルトでmasterになるらしい。

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0