navegue a través de las twigs ref haciendo uso de la agrupación '/' (barra inclinada)

Tengo dos partes o la siguiente pregunta.

GENERAL : Incluir un / (barra inclinada) dentro del nombre de una twig coloca el encabezado de esa twig dentro de un directory especificado por la ruta como se interpreta usando / .

por ejemplo, el jefe de una twig llamada Category-1/Ref-1 se denominará Ref-1 y se almacenará en ./.git/refs/heads/Category-1/ como Ref-1 .

Me referiré a este tipo de 'directory de sucursales' como Pseudo Carpeta de Sucursal (BPF)

PARTE 1 –

Me gustaría tener algo como el command dos dir o el command linux ls para listr todas las references en un BPF particular.

PARTE 2 –

Para dicho command, me gustaría configurar Tab-completion para que funcione, ya que funciona al escribir las routes normales del sistema. Además, me gustaría configurar una configuration de tabs similar para otras funciones que requieren nombres de reference, por ejemplo, git checkout

Por ejemplo, supongamos que el command se llama git branch-ls . También. supongamos que existen los siguientes 4 encabezados de twigs.

 Cooling/AC Cooling/Fridge Heating/Heater Heating/Microwave 

Ahora, me gustaría el siguiente comportamiento.

 git branch-ls Hea[tab] 

Debería completar git branch-ls Heating/ y una pestaña adicional debe completar el nombre completo de la reference. Tenga en count que esto es diferente al trabajo de finalización del nombre de la twig como en el process de checkout .

También,

 git branch-ls Heating/ 

debería enumerar todas las references en el BPF anterior. es decir, su resultado debe ser de la forma

 Heater Microwave