Advertencia: push.default no está configurado; su valor implícito está cambiando en Git 2.0
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 simple
y matching
?
Si lo cambio en un cliente, ¿tendré que hacer algo en otros clientes con los que comparto repositorios?
Se explica con gran detalle en los documentos , pero intentaré resumir:
matching
significagit push
enviar 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.simple
significa quegit push
enviará solo la rama actual a la quegit pull
extraerí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 .
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 simple
es, en cierto modo, como configurar el seguimiento en sus ramas para que no necesite especificar controles remotos y ramas al empujar y tirar. La matching
opció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 --version
se mostrará git version 1.8.3.4 (Apple Git-47)
algo que nunca había visto hasta la actualización del sistema operativo).