La branche principale de Git n'a pas de branche en amont
j'essaie de pousser un de mes projets à github, et j'obtiens toujours cette erreur:
fatal: The current branch master has no upstream branch.
je n'ai jamais vu cela avant. J'ai re-initialisé mon git, re-ajouté mon origine, supprimé et re-fait le repo, et recréé ma clé SSH.
9 réponses
créer le repo sur github; ajouter un fichier README sur github et ensuite cloner le dépôt github. Créer le fichier README (ou n'importe quel fichier en fait) est nécessaire pour obtenir une branche principale.
notez comment GitHub invite à créer un README lors de la création d'un dépôt:
au lieu de créer un nouveau dépôt sur Github, de cloner celui-ci, ou de réinitialiser votre dépôt local, la commande suivante aurait été suffisante:
git push -u origin master
origin est le nom de la machine distante (par défaut origin), et master est la branche que vous voulez pousser, dans votre cas c'est master, sinon vous devrez changer cela dans la commande.
-u signifie que votre branche locale sera configurée pour suivre la nouvelle branche maître créée sur le dépôt d'origine. (le maître sur l'origine sera la branche amont de votre branche locale).
Si la branche master n'existe pas sur le dépôt distant, il sera créé, sinon il sera mis à jour (le -u fonctionne peu importe si elle existe ou non).
La commande suivante a fonctionné pour moi:
git branch --set-upstream-to=origin/master master
j'ai fait face au même problème juste dire à github d'utiliser la branche head actuelle de votre dépôt local:
git push --set-upstream origin master
le souhaitez, il vous aider et d'autres
j'ai eu ce problème aujourd'hui sur mon propre dépôt distant, pas Github et je me suis rendu compte que je n'avais pas fait de commits vers mon dépôt local avant d'essayer de pousser vers le dépôt distant.
git add -A
git commit
git push origin master
certaines personnes venant sur cette page peuvent tout simplement avoir cette erreur parce qu'elles ont fait git push origin
et n'a tout simplement pas réalisé que vous aviez besoin de spécifier le nom de la branche distante aussi bien, comme dans git push origin master
.
Si vous n' git branch --set-upstream-to=origin/master master
une référence est ajoutée .git\config pour relier les branches locales et distantes. Je suppose que vous n'avez plus besoin de spécifier le nom de la branche lorsque vous appuyez sur la télécommande.