Olá Fabricio, saudações!
Vamos lá...
1 - Como você avalia o uso de criar um branch para cada fix, feature ou issue em um projeto?
R: Primeiro levo em consideração o que tem que ser feito no projeto. Por exemplo:
- Criar um botão na tela inicial;
- Corrigir tamanho da fonte na tela inicial;
Depois categorizo essas demandas entre feature (é uma nova implementação) ou fix (é alguma correção?).
Se for trabalhar em "Criar um botão na tela inicial" crio uma branch referente a essa demanda, que seria algo como feat:criar-botao.
Se for trabalhar em "Corrigir tamanho da fonte na tela inicial" crio uma branch referente a essa demanda, que seria algo como fix:corrigir-fonte.
Realizo as implementações necessárias e assim que finalizo a tarefa e faço os testes, peço o merge para a master/main.
2 - Não haveria muitas branches e isso tornaria difícil de manter no projeto?
R: Assim que eu peço o merge para a master/main, deleto a branch em que trabalhei, sempre limpando as branchs do meu projeto, tendendo a manter somente a master/main e em alguns casos a develop.
3 - Como por exemplo criar branches para pequenas alterações, como mudanças de texto, é uma boa prática?
R: Mudanças de textos como comentários e informações de documentos, não costumo criar branch separada, mas caso a mudança de texto seja em um arquivo de configuração importante da aplicação, considero sim uma boa prática, mas isso não é uma verdade absoluta.
Obs.: Corrigi meu artigo que afirmava de forma absoluta ser uma boa prática.
Espero ter conseguido ser claro nas minhas respostas.
Sucesso e obrigado pela interação.