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?
4 réponses
c'est expliqué en détail dans le docs , mais je vais essayer de résumer:
-
matching
signifiegit 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
signifiegit push
sera push seulement la branche courante de celle quegit 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 ?
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.
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!
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'
.