Message d’erreur déroutant de git

J’ai reçu ce message de Git:

Vous avez demandé à sortir de l’origine distante, mais vous n’avez pas spécifié de twig. Comme ce n’est pas la distance configurée par défaut pour votre twig actuelle, vous devez spécifier une twig sur la ligne de commande.

Quelqu’un peut-il l’expliquer? et plus important comment le réparer?

Vous devez indiquer à git quelle twig vous voulez extraire des repo à distance “d’origine”.

Je suppose que vous voulez la twig par défaut (master) afin que git pull origin master devrait résoudre votre problème.

Voir la git help branch , git help pull et git help fetch pour plus d’informations.

Pour résoudre ce problème, en supposant que vous êtes sur la twig principale et que vous souhaitez extraire la twig principale de la télécommande d’ origin , en versions suffisamment récentes (1.8 ou plus récentes):

 git branch -u origin/master master 

(Par analogie pour les autres twigs et / ou télécommandes.)

Si vous pouvez combiner ceci avec une poussée, c’est encore plus court:

 git push -u origin master 

Par la suite, un simple git pull / git push fera ce que vous attendez.


Au cours de la série Git 1.7, git branch n’avait pas le commutateur -u (seul Git git push fait), mais plutôt le --set-upstream :

 git branch --set-upstream master origin/master 

Notez l’inversion des arguments par rapport à -u . J’ai tâtonné cette commande plus d’une fois.


En passant, tous ces éléments sont des raccourcis pour faire ce qui suit, que vous pouvez toujours faire explicitement:

 git config branch.master.remote origin git config branch.master.merge refs/heads/master 

Avant 1.7, vous deviez le faire de cette façon.

Le message dit exactement de quoi il s’agit. Votre twig actuelle n’est pas associée à (ne suit pas) une twig d’ origine . Donc, git ne sait pas quoi tirer.

Que faire? Ça dépend…

Dans la situation la plus courante, vous travaillez sur une twig locale xyz dérivée de master qui est clonée à partir du maître d’ origine . La façon habituelle de le résoudre est de passer en mode maître et de le synchroniser avec l’ origine , puis de revenir à xyz et à rebase master .

Mais dans votre situation, vous voudrez peut-être faire autre chose. Nous ne pouvons pas le savoir sans connaître les détails de vos succursales et télécommandes et comment vous avez l’intention de les utiliser.