¿Por qué git está capitalizando el prefijo de mi nombre de twig?

Tengo un set muy simple de commands de git que está resultando en un comportamiento curioso:

Mostrar mis sucursales locales actuales y ver si estoy en la release/beta1 :

 $ git branch develop master * release/beta1 

Crea una bifurcación de bugfix/somefeature desde release/beta1 :

 $ git checkout -b bugfix/somefeature Switched to a new branch 'bugfix/somefeature' 

Hasta aquí todo bien, ¿no? Bueno, muéstrame sucursales locales de nuevo:

 $ git branch BUGFIX/somefeature 

Las preguntas:

  • ¿Por qué el prefijo de BUGFIX de mi sucursal se escribe en mayúsculas como BUGFIX ?
  • Relacionado, ¿por qué no está marcado con un asterisco como mi twig actual?

Estoy usando git versión 1.8.1.5 a través de Homebrew en OS X 10.8.2, y esto sucede con o sin mi bonito ~/.gitconfig en su lugar. Esto sucede para aparentemente cada bugfix/... twig.

Las twigs se almacenan como files dentro del directory .git . Una sola twig es un único file que contiene el hash para el object de confirmación al que apunta la derivación.

Entonces, como quizás adivines, al crear una twig foo/bar esto corresponderá a un directory con un file. Entonces, Git creará una carpeta foo con una bar files que luego apunta a la confirmación.

Esto significa que cuando agregue otra twig foo/baz creará un file baz y lo agregará a la carpeta.

Ahora los nombres de las sucursales son insensibles a las mayúsculas y minúsculas para los filesystems que no distinguen mayúsculas de minúsculas Esto significa que FOO/bar y foo/bar son iguales. Pero el nombre interno real se toma de la carpeta original y el nombre del file. Entonces, cuando la carpeta para su categoría de bifurcación se escribe en mayúscula, las twigs se reconocen con una BUGFIX mayúscula.

Para solucionar esto, solo ingrese a .git/refs/heads y cambie el nombre de la carpeta a su gusto.