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.

33
demandé sur Binarian 2013-05-11 07:18:06

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: enter image description here

2
répondu GoZoner 2013-05-11 03:20:23

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).

75
répondu dunni 2013-05-11 09:18:05

La commande suivante a fonctionné pour moi:

git branch --set-upstream-to=origin/master master
27
répondu Manoj Shrestha 2014-07-15 16:57:48

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

4
répondu Manee.O.H 2015-12-04 21:46:57

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
3
répondu haydeniv 2014-07-01 20:13:32

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.

1
répondu Cool Blue 2015-08-24 10:19:50

la réponse de Cool Blue a presque fonctionné pour moi.

d'Abord j'ai fait: "git branch --set-amont=origin/master master