Advertencia: push.default no está configurado; su valor implícito está cambiando en Git 2.0

Resuelto Marko asked hace 12 años • 5 respuestas

He estado usando Git por un tiempo y recientemente descargué una actualización y encontré 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 configurarlo 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?

Marko avatar Oct 31 '12 04:10 Marko
Aceptado

Se explica con gran detalle en los documentos , pero intentaré resumir:

  • matchingsignifica git pushenviar todas sus sucursales locales a las que tienen el mismo nombre en el control remoto. Esto hace que sea fácil empujar accidentalmente una rama que no era tu intención.

  • simplesignifica que git pushenviará solo la rama actual a la que git pullextraería y también verificará que sus nombres coincidan. Este es un comportamiento más intuitivo, razón por la cual el valor predeterminado se cambia a este.

Esta configuración solo afecta el comportamiento de su cliente local y puede anularse especificando explícitamente qué ramas desea enviar en la línea de comando. Otros clientes pueden tener configuraciones diferentes, solo afecta lo que sucede cuando no especifica qué ramas desea enviar .

hammar avatar Oct 30 '2012 22:10 hammar

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é en agregar un poco.

Entonces la respuesta de @hammar es correcta. Usar push.default simplees, en cierto modo, como configurar el seguimiento en sus ramas para que no necesite especificar controles remotos y ramas al empujar y tirar. La matchingopción enviará 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. La actualización a Mavericks es lo que de repente hizo que apareciera (al ejecutarlo git --versionse mostrará git version 1.8.3.4 (Apple Git-47)algo que nunca había visto hasta la actualización del sistema operativo).

wgp avatar Oct 26 '2013 17:10 wgp