LoginSignup
0
0

More than 3 years have passed since last update.

GitHubのデフォルトブランチ名がmainになってからプッシュできず詰まっていたのを解決できた件

Last updated at Posted at 2020-11-23

はじめに

c++で作品を作っていてGitHubにコミットしてプッシュしようとしたときのことでした

今までは、デフォルトブランチ名がmasterだったときはらくらくできていたが、デフォルトブランチ名がmainブランチに変更されてから
この謎は始まったのであった。

自分が忘れないようにメモとして書いているものだが、もし同じように困っている人の役に立てたら幸いです。

どういう謎だよ

まずいつも通りにGitHubで新しいリポジトリを作成して
ターミナル下記を入力

git init
git remote add origin [新しいリポジトリを作成したURL]
git add .
git commit -m "first commit"

//ここで、pushなりgit pullなりで問題が起こる

git push origin main
git
* branch main -> FETCH_HEAD
fatal: refusing to merge unrelated histories

とか
error: src refspec main does not match any.
error: failed to push some refs to 'origin'

とか

git pullで

fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists

他にも、masterでプッシュしてしまうと、mainブランチとmasterができてしまったりして
2つブランチができてしまうことがありました

もしmainブランチとmasterブランチを作りたいのであればいいのですがそうでない場合...

うわぁぁぁぁ!!!初見殺しだァァァ!

何が起きているのか、解決方法を探す

git clone でできているリポジトリから解決した方法

git branchで現在いるブランチを確認

git branch
* master

ん?masterになっている。
そういえば、git cloneで取ってきていないからか。これじゃあできないわけだ。

GitHubで作ったリポジトリをクローンする

git clone [リモート リポジトリのurl]

それで
git branch
* main

これでgit pushできるはず!

git cloneを使わないやつで解決した方法

git init
git remote add origin [リモートリポジトリのURL]
git add [ファイル]
git commit -m "ここにコメントを入れる"
git branch

もし* masterと表示になっていたら
git fetch
git checkout main
git push

解決方法のまとめ

GitHubのデフォルトブランチ名がmainブランチに変わってから、
新しくリポジトリを作成したときにpushできない問題が起きたら、
先にリポジトリを作成してgit clone で取ってくるか、
上記で書いたgit cloneを使わない方法で解決できた。

謝辞 + IT勉強会にどんどん参加しようぜ!!

今回のGitHubに関して行き詰まっていたのを解決できたのは IT勉強会CoKonPileの参加者様と関係者の協力で解決できました!
CoKonPileの皆様、ヒントや解決方法を一緒に考えていただき、ありがとうございました!

IT勉強会、どんどん参加しよう!!!!!!!!

0
0
1

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