¿Por qué no está presente en .git / config?

Mis preguntas son por qué el siguiente file .git/config no tiene una [branch "development"] ; ¿Qué significa agregar una sección como esa? y ¿cómo puedo probar lo que está sucediendo realmente, como con un file ficticio?

Aquí están los detalles:

 [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = [email protected]:test.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master 

Tengo tanto una twig maestra como de desarrollo. Como era de esperar, cuando git checkout development puedo hacer cambios en el desarrollo que no están en master. Más tarde, puedo fusionar el desarrollo de nuevo en maestro.

Estoy confundido sobre por qué la twig de desarrollo no está configurada en .git/config .

Mi suposition es que no tiene una connection ascendente / remota asociada con el development , por lo tanto, no se necesita ninguna input de configuration. Si lo empuja hacia el origen con el git push origin development -u , debería verlo en su configuration.

Estoy confundido sobre por qué la twig de desarrollo no está configurada en .git/config .

Simplemente no tiene una definición de seguimiento o de seguimiento para la twig dada.


¿Por qué no hay una twig de seguimiento o en sentido ascendente?

De hecho, depende de tu versión de git, ya que se actualizó en la versión 2.0 de git.

Si tienes clones / creaste el repository en una versión anterior de git (<2.0) esta es la razón por la que no tienes twigs ascendentes / de seguimiento.

Puede leer todo al respecto aquí: https://git.kernel.org/cgit/git/git.git/tree/Documentation/RelNotes/2.0.0.txt


Cuando git push [$there] no dice qué empujar, hemos utilizado la semántica de matching tradicional hasta el momento (todas sus twigs se enviaron al control remoto siempre que ya existan twigs del mismo nombre). En Git 2.0 , el valor pnetworkingeterminado ahora es la semántica simple , que empuja:

  • solo la twig actual a la sucursal con el mismo nombre, y solo cuando la sucursal actual está configurada para integrarse con esa sucursal remota, si está presionando el mismo control remoto desde el que obtiene; o

  • solo la twig actual a la twig con el mismo nombre, si está presionando un control remoto que no es el que normalmente busca.

Puede usar la variable de configuration push.default para cambiar esto. Si es un veterano que quiere seguir usando la semántica matching , puede establecer la variable para que matching , por ejemplo. Lea la documentation para otras posibilidades.