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 simple
y 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:
matching
mediosgit push
será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.simple
mediosgit push
serán empujar únicamente la rama actual a la quegit pull
se 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 push
que 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 simple
es, de alguna manera, como configurar el seguimiento en sus ramas para que no necesite especificar controles remotos y ramas cuando empuja y tira. Lamatching
opció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 --version
mostrará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
simple
en la configuración, verifique sugit version
.Después de la actualización
XCode
(enMac
ejecuciónMountain Lion
), que también se actualizógit
de 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 valorsimple
de push.default en la configuración global.¡La solución fue cerrar los shells con la versión anterior
git
y usar la nueva versión!fuente
git config --global push.default simple
Me 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.default
menos que desee cambiar el'simple'
comportamiento predeterminado .fuente