He estado usando Git durante un tiempo y recientemente descargué una actualización solo para encontrar este mensaje de advertencia cuando lo intento 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
Obviamente puedo establecerlo en uno de los valores mencionados, pero ¿qué significan? ¿Cuál es la diferencia entre simpley matching?
Si lo cambio en un cliente, ¿tendré que hacer algo en otros clientes con los que comparto repositorios?
git
version-control
git-push
Marko
fuente
fuente

Respuestas:
Se explica con gran detalle en los documentos , pero intentaré resumir:
matchingmediosgit pushserán empujar todas sus ramas locales a los que tienen el mismo nombre en el mando a distancia. Esto facilita empujar accidentalmente una rama que no tenía intención de hacer.simplemediosgit pushserán empujar únicamente la rama actual a la quegit pullse retiraría de , y también comprueba que sus nombres coinciden. Este es un comportamiento más intuitivo, por lo que el valor predeterminado se está cambiando a esto.Esta configuración solo afecta el comportamiento de su cliente local y puede anularse especificando explícitamente qué ramas desea insertar en la línea de comando. Otros clientes pueden tener diferentes configuraciones, solo afecta lo que sucede cuando no especifica qué ramas desea impulsar .
fuente
git pushque empujaría solo la rama actual.Me doy cuenta de que esta es una publicación antigua, pero como me encontré con el mismo problema y tuve problemas para encontrar la respuesta, pensé que agregaría un poco.
Entonces la respuesta de @ hammar es correcta. El uso
push.default simplees, de alguna manera, como configurar el seguimiento en sus ramas para que no necesite especificar controles remotos y ramas cuando empuja y tira. Lamatchingopción empujará todas las ramas a sus contrapartes correspondientes en el control remoto predeterminado (que es el primero que se configuró a menos que haya configurado su repositorio de otra manera).Una cosa que espero que otros encuentren útil en el futuro es que estaba ejecutando Git 1.8 en OS X Mountain Lion y nunca vi este error. Actualizar a Mavericks es lo que de repente lo hizo aparecer (la ejecución
git --versionmostrarágit version 1.8.3.4 (Apple Git-47)lo que nunca había visto hasta la actualización del sistema operativo.fuente
Si recibe un mensaje de git quejándose del valor
simpleen la configuración, verifique sugit version.Después de la actualización
XCode(enMacejecuciónMountain Lion), que también se actualizógitde 1.7.4.4 a 1.8.3.4 , los shells comenzaron antes de que la actualización aún ejecutara git 1.7.4.4 y se quejaron del valorsimplede push.default en la configuración global.¡La solución fue cerrar los shells con la versión anterior
gity usar la nueva versión!fuente
git config --global push.default simpleMe preguntaba por qué recibía ese gran mensaje de advertencia en Ubuntu 16.04 (que viene con Git 2.7.4), pero no en Arch Linux. La razón es que la advertencia se eliminó en Git 2.8 (marzo de 2016):
Por lo tanto, no verá la advertencia si tiene Git 2.8 y versiones posteriores y no necesita configurarlo a
push.defaultmenos que desee cambiar el'simple'comportamiento predeterminado .fuente