致命的: 現在のブランチマスターには上流ブランチがありません 質問する

致命的: 現在のブランチマスターには上流ブランチがありません 質問する

プロジェクトの 1 つを github にプッシュしようとしているのですが、次のエラーが繰り返し発生します。

peeplesoft@jane3:~/846156 (master) $ git push

fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

     git push --set-upstream origin master

それで試してみたら、次のようになりました:

peeplesoft@jane3:~/846156 (master) $ git push --set-upstream origin master

fatal: Authentication failed

別の stackoverflow スレッドでは、次のことを試してみることを提案されましたが、残念な結果になりました。

peeplesoft@jane3:~/846156 (master) $ git push -u origin master

fatal: Authentication failed

それから私はこれを試しました:

peeplesoft@jane3:~/846156 (master) $ git config remote.origin.push HEAD

peeplesoft@jane3:~/846156 (master) $ git push

fatal: Authentication failed

何かヒントはありますか?

ベストアンサー1

プッシュは修正されましたが、プッシュの問題とは関係なく(「新しいブランチを明示的にプッシュする必要があるのはなぜですか?":git push -u origin masterまたはgit push -u origin --all) の場合は、認証の問題を解決する必要があります。

それはあなたのURLによって異なります(' のssh [email protected]/yourRepo、または のhttps https://github.com/You/YourRepo

https URLの場合:

あなたのアカウントが二要素認証通常のパスワードは機能しません(https URLの場合)。ここで説明されているように またはここ

パスワードに特殊文字が含まれている場合も同様の問題が発生します(この答え

httpsが機能しない場合(セカンダリキー、PAT:個人アクセストークンを生成したくないため)、sshに切り替えることができます。ここで示したように


次のように指摘されている。クワーティーコメントに次のように記述すると、リモート上に同じ名前のブランチを自動的に作成できます。

git push -u origin head 

なぜ?

  • HEAD (.git\HEADファイルを参照) には現在チェックアウトされているブランチの refspec があります (例: ref: refs/heads/master)
  • デフォルトプッシュポリシー単純

このプッシュに使用される refspecec は head: (宛先なし) であるため、欠落しているということは、(ブランチである head):<dst>と同じ ref を更新することを意味します。<src>

それはうまくいかない頭が外れたけれど。


または、Git 2.37 (2022年第3四半期) と新しいグローバル オプションpush.autoSetupRemote:

git config --global push.autoSetupRemote true
git push

おすすめ記事