Motivo por el que tengo que arreglar git remote para nuevas sucursales

Ya he encontrado al less 3 forms diferentes de solucionar este problema de git, así que esa no es la pregunta. Primero, el problema:

Tengo un repo clonado desde nuestro server gitlab a mi computadora portátil. Hice cambios en mi twig principal, ejecuté "git checkout -b newBranchName" y con git gui, comprometido y presionado. Pero "git pull" se queja de que "no hay información de seguimiento para la sucursal actual …" Es cierto. El problema es que .git / config de hecho no tiene input para mi newBranchName. Pero creo que debería.

Mientras que git es muy generalizado para trabajar con N controles remotos y todo, también hace algunas suposiciones. El file de configuration muestra varias variables con valores pnetworkingeterminados (asumidos), y me gustan todos. Pero también quiero suponer que si tengo un solo control remoto en mi file de configuration, para el maestro, entonces ese es el mismo control remoto para las nuevas twigs que hago con "checkout-b". Si alguna vez es una suposition incorrecta, puedo solucionarlo. Simplemente no quiero TENER que arreglar nuevas sucursales todo el time.

Entonces realmente tengo dos preguntas. Primero, ¿por qué Git no hace suposiciones sobre el control remoto de mis nuevas sucursales? Dos, ¿estoy haciendo algo mal cuando creo nuevas sucursales?

No haces nada malo en particular, por lo que veo.

Puede establecer el control remoto pnetworkingeterminado para todas las twigs con

 $ git config remote.pushdefault <remote name> 

Se puede anular para twigs particulares con la branch.<branch name>.pushremote .

Esto solo le evita proporcionar el nombre del control remoto al presionar. Todavía tienes que decirle a git que configure una twig de seguimiento si eso es lo que quieres. Puedes hacer eso con --set-upstream o -u para abreviar. Esto esencialmente configura la opción branch.<branch name>.merge al valor correcto, pero es más conveniente. Esto solo es necesario para empujes y solo para el inicial. Cuando busca una nueva sucursal por primera vez, git configura automáticamente la información de seguimiento (excepto que cambie branch.autosetupmerge ).