git Push error エラー: src refspec マスターがどのソリューションにも一致しません

TN は本当にクレイジーです。今日 Gitee で新しいプロジェクトを作成しましたが、ローカル コードをプッシュしようとすると、次のエラーが報告されます。

➜  *** git:(main) git push -u origin "master"
error: src refspec master does not match any
error: failed to push some refs to 'https://gitee.com/***/***.git'

何年も git を使っているのに、このような光景は見たことがありません。
どうしてこのような光景を見たことがあるでしょうか? 急いで Baidu を歩いてください。
インターネット上には本当にあらゆる種類の格言があります。

しかし、この時点で注意してください。すぐに、ローカルブランチが main と呼ばれていることがわかりました。不思議ではありませんが、master ブランチにプッシュしても、プッシュすることはできません。
案の定、これは画期的な出来事です。昨日 xcode ツールをアップグレードしたことも思い出しましたが、内部の git も同様にアップグレードされているはずです。デフォルトのブランチ名を main に変更することについては、git によって行われるか Apple によって行われるかに関係なく、これ以上は説明しません (ここでは Apple Git を使用しているため)。

では、なぜ Git はデフォルトの main ブランチ名を main に変更するのでしょうか?
実は、これも海外のZZZQに関する質問です。具体的かつ詳細な理由は、Git ブランチが「マスター」から「メイン」に変更され始めたのはなぜですか? , こちらが簡単なスクリーンショットです。
ここに画像の説明を挿入
ここに画像の説明を挿入

理由が分かったので、次のステップは簡単です。
解決策は大まかに 2 つあります。 1. git のデフォルトのブランチ名を master に戻します。2. main ブランチを main に変更することに協力します。

1. git のデフォルトのブランチ名を master に戻す
コードを Gitee に送信したいので、Gitee のデフォルトの master ブランチはまだ master なので、ここで git のデフォルトのブランチ名を変更することにします。
ターミナルで次のコマンドを実行します。

git config --global init.defaultBranch master

設定が有効になっているかどうかを確認します。

vim /Users/[你的账户名]/.gitconfig

ここに画像の説明を挿入
構成は成功しました。
次にローカル コードを再初期化します。
ここに画像の説明を挿入
デフォルトのブランチ名は master になります。その後、プッシュが成功する可能性があります。

2. リモートとローカルが元々マスター メイン ブランチで
ある場合は、メイン ブランチを main に変更することに協力します。次に、次のメソッドを使用して main ブランチを main に変更できます。

まずローカルでブランチを変更します

git branch -m master main

実行後、ローカルには main ブランチのみが存在し、master ブランチは存在しません。

次に、新しく名前を付けたメイン ブランチをリモート リポジトリにプッシュします。

git push -u origin main

リモートウェアハウスにはメインブランチがないため、この時点でメインブランチが自動的に作成されます。

次にメインブランチに HEAD をポイントします

git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main

最後に、リモート ウェアハウスの古いマスター ブランチを削除します。

git push origin --delete master

参考文献
https://pages.carm.cc/doc/branch-main.html
https://www.jianshu.com/p/098c77d891a2

おすすめ

転載: blog.csdn.net/sdujava2011/article/details/131130407