Advertencia: push.default no está instalado; su valor implícito cambia en git 2.0

Usé Git por un tiempo y recientemente descargué la actualización solo para encontrar este mensaje de advertencia cuando trato 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 

Obviamente puedo establecerlo 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 quienes comparto reposiciones?

1574
31 окт. establecido por Marko el 31 de octubre 2012-10-31 00:48 '12 a las 0:48 2012-10-31 00:48
@ 4 respuestas

Esto se explica en detalle en los documentos , pero trataré de resumir:

  • matching significa que git push enviará todas las sucursales locales a aquellas con el mismo nombre en el control remoto. Esto hace que sea más fácil presionar accidentalmente una rama que no pretendía.

  • simple significa que git push solo empujará la rama actual a la que git pull saldrá , y también verifica si sus nombres coinciden. Este es un comportamiento más intuitivo, por lo que el valor predeterminado cambia.

Este parámetro solo afecta el comportamiento de su cliente local y se puede anular especificando explícitamente las ramas en las que desea hacer clic en la línea de comando. Otros clientes pueden tener configuraciones diferentes, esto solo afecta lo que sucede cuando no especifica en qué ramas desea hacer clic .

2118
31 окт. respuesta dada hammar 31 de octubre. 2012-10-31 01:11 '12 a la 1:11 am 2012-10-31 01:11

Entiendo que este es un post antiguo, pero como me encontré con el mismo problema y no pude encontrar una respuesta, pensé que agregaría un poco.

Así que la respuesta de @hammar es correcta. El uso de push.default simple en cierto sentido, similar a la configuración de seguimiento en sus sucursales, por lo que no necesita especificar consolas y sucursales cuando hace clic y arrastra. La opción de matching empujará todas las ramas a las asignaciones correspondientes en la computadora remota de manera predeterminada (que es la primera que se configuró si no configuró su repositorio de lo contrario).

border=0

Una cosa que espero que otros encuentren útil en el futuro es que ejecuté Git 1.8 en OS X Mountain Lion y nunca vi este error. Actualizar a los Mavericks es lo que apareció de repente (ejecutar git --version mostrará git version 1.8.3.4 (Apple Git-47) , que nunca había visto antes de actualizar el sistema operativo.

19
26 окт. respuesta dada Bill 26 de octubre 2013-10-26 20:00 '13 a las 8 pm 2013-10-26 20:00

Si recibió un mensaje de git quejándose del valor de simple en la configuración, verifique la git version .

Después de actualizar XCode (en Mac ejecutando Mountain Lion ), que también actualizó git de 1.7.4.4 a 1.8.3.4 , el shell se inició antes de que la actualización siguiera ejecutando git 1.7.4.4 y se quejó del valor simple para push.default en la configuración global .

¡La solución fue cerrar los shells que ejecutan la versión antigua de git y usar la nueva versión!

7
31 янв. Responder Tom Barron 31 de enero 2014-01-31 18:35 '14 a las 18:35 2014-01-31 18:35

Me preguntaba por qué recibí este gran mensaje de advertencia en Ubuntu 16.04 (que viene con Git 2.7.4), pero no en Arch Linux. El motivo es que la advertencia se eliminó en Git 2.8 (marzo de 2016):

Durante la transición de Git versión 2.0, el usuario empleó una advertencia bastante fuerte al ejecutar "git push" sin configurar la variable de configuración push.default. Ya no avisamos, porque la transición se completó hace mucho tiempo.

Por lo tanto, no verá advertencias si tiene Git 2.8 y posterior push.default no necesita configurar push.default si no desea cambiar el comportamiento predeterminado de 'simple' .

1
19 марта '18 в 16:10 2018-03-19 16:10 Eugene Yarmash da la respuesta el 19 de marzo de 18 a las 4:10 p. m. 2018-03-19 16:10

Otras preguntas sobre etiquetas de o Haz una pregunta