Avertissement: push.par défaut n'est pas défini, sa valeur implicite est en train de changer dans Git 2.0

j'utilise Git depuis un moment maintenant et j'ai récemment téléchargé une mise à jour pour trouver ce message d'avertissement qui apparaît lorsque j'essaie de push .

warning: push.default is unset; its implicit value is changing in 
Git 2.0 from 'matching' to 'simple'. To squelch this message 
and maintain the current behavior after the default changes, use: 

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use: 

  git config --global push.default simple

je peux évidemment définie à l'une des valeurs mentionnées, mais que signifient-ils? Quelle est la différence entre simple et matching ?

si je le change sur un client, est-ce que je devrai faire quelque chose sur d'autres clients avec lesquels je partage des pensions?

1582
demandé sur Marko 2012-10-31 01:48:16

4 réponses

c'est expliqué en détail dans le docs , mais je vais essayer de résumer:

  • matching signifie git push will poussez toutes vos branches locales vers celles qui portent le même nom sur la télécommande. Cela rend facile de pousser accidentellement une branche que vous n'aviez pas l'intention de faire.

  • simple signifie git push sera push seulement la branche courante de celle que git pull tirerait de , et vérifie également que leurs noms correspondent. C'est un comportement plus intuitif, c'est pourquoi la valeur par défaut est de se changer à cela.

ce paramètre affecte uniquement le comportement de votre client local, et peut être dépassé en spécifiant explicitement quelles branches vous voulez pousser sur la ligne de commande. D'autres clients peuvent avoir des paramètres différents, il affecte que se passe-t-il lorsque vous ne spécifiez pas quelles branches vous voulez appuyer sur ?

2121
répondu hammar 2017-09-08 17:48:07

je me rends compte que c'est un vieux post mais comme j'ai juste couru dans le même problème et eu de la difficulté à trouver la réponse, j'ai pensé que je voudrais ajouter un peu.

donc la réponse de @hammar est correcte. Utiliser push.default simple est, d'une certaine manière, comme configurer le suivi sur vos branches pour que vous n'ayez pas besoin de spécifier les télécommandes et les branches lorsque vous poussez et tirez. L'option matching poussera toutes les branches vers leurs contreparties correspondantes sur la télécommande par défaut (qui est la première qui a été définie jusqu'à moins que vous n'ayez configuré votre repo autrement).

une chose que j'espère que d'autres trouveront utile dans le futur est que je courais Git 1.8 sur OS X Mountain Lion et n'ai jamais vu cette erreur. La mise à niveau vers Mavericks est ce qui l'a soudainement fait apparaître (exécuter git --version affichera git version 1.8.3.4 (Apple Git-47) que je n'avais jamais vu avant la mise à jour vers L'OS.

19
répondu Bill 2013-10-26 17:00:05

si vous recevez un message de git se plaignant de la valeur simple dans la configuration, cochez votre git version .

après la mise à niveau XCode (sur un Mac tournant Mountain Lion ), qui a également mis à niveau git de 1.7.4.4 à 1.8.3.4 , coquillages commencé avant la mise à niveau étaient encore en cours git 1.7.4.4 et s'est plaint de la valeur simple pour pousser.par défaut dans le global configuration.

la solution était de fermer les coquillages de l'ancienne version de git et d'utiliser la nouvelle version!

7
répondu Tom Barron 2017-02-24 14:49:10

je me demandais pourquoi je recevais ce Gros message d'avertissement sur Ubuntu 16.04 (qui vient avec Git 2.7.4), mais pas sur Arch Linux. La raison en est que l'avertissement a été supprimé dans Git 2.8 (mars 2016):

à travers la transition à environ Git version 2.0, l'utilisateur utilisé pour obtenez un avertissement assez fort lorsque vous lancez "git push" sans mettre pousser.variable de configuration par défaut. Nous ne prévenons plus parce que le transition a été achevée il y a longtemps.

donc vous ne verrez pas l'avertissement si vous avez Git 2.8 et plus tard et n'avez pas besoin de définir push.default sauf si vous voulez changer le comportement par défaut 'simple' .

1
répondu Eugene Yarmash 2018-03-19 13:10:12