O Copilot gera commits. Quem os transforma em profissionais é você
O Copilot gera commits. Quem os transforma em profissionais é você
Nos últimos dias venho testando os commits gerados automaticamente pelo GitHub Copilot dentro do Visual Studio. A primeira impressão é boa: ele segue um formato claro, tenta manter coerência e até gera descrições relativamente confiáveis. Mesmo quando você não informa o tipo do commit (feat, fix, chore) ele tenta adivinhar o contexto pelo código. Mas existe um problema central: o Copilot descreve tudo o que foi alterado, como se estivesse narrando um diff. E commit não é isso.
Muita gente esquece que commit não é um relatório técnico. Ele não serve para listar arquivos alterados, métodos criados e detalhes de implementação. Isso o Git já mostra perfeitamente via git diff. Commit é um lugar para registrar o que precisava ser feito e por que essa alteração existe. Um bom commit transmite intenção, não uma autópsia do código.
O Copilot não entende intenções. Ele entende apenas o resultado do código. Ele sabe o que foi feito, mas não sabe o que o cliente pediu, a regra de negócio envolvida, o propósito do ticket ou a mudança esperada no comportamento da aplicação. Por isso ele gera commits muito descritivos e, muitas vezes, excessivamente técnicos.
E isso não é culpa da IA: é o comportamento natural dela. O Copilot é o copiloto, não o desenvolvedor. Ele ajuda, mas não substitui o discernimento humano.
Um exemplo simples mostra isso na prática.
Imagine que você adicionou suporte a login de um novo tipo de usuário “Educador” em uma aplicação ASP.NET Core MVC. Depois de alterar o controller, a service layer e ajustar a ViewModel, o Copilot gera algo parecido com isto:
❌ Exemplo gerado pelo Copilot (cheio de detalhes irrelevantes)
Implementa suporte ao tipo de usuário Educador e atualiza fluxo de autenticação
Esta alteração adiciona suporte completo ao novo tipo de usuário ‘Educador’.
Alterações no Controller:
- No
AuthController, foi adicionada validação adicional no métodoLogin(). - O método
AuthenticateUserAsyncfoi atualizado para buscar Educadores no banco de dados.
Alterações no Service:
- Criada a classe
EducadorServicepara consultar Educadores no repositório. - Adicionado método
FindByEmailAsync.
Alterações na Camada de Dados:
- Criada a entidade
Educador.cs. - Adicionada nova tabela no contexto
AppDbContextcomDbSet<Educador>.
Alterações na View:
- Atualizada a
LoginViewModeladicionando o campoTipoUsuario.
Arquivos modificados:
AuthController.cs, EducadorService.cs, Educador.cs, AppDbContext.cs, Login.cshtml, LoginViewModel.cs
Perceba: isso parece descrição de PR, não commit. O Copilot está apenas lendo o diff e transformando tudo em texto.
Agora veja o mesmo commit escrito da forma correta, focado em intenção e entregável:
✔️ Exemplo ajustado pelo desenvolvedor (limpo e profissional)
feat(auth): adicionar suporte ao tipo de usuário Educador no fluxo de login
Implementado o tipo 'Educador' na autenticação, incluindo validação no AuthController,
ajuste na service layer e inclusão da entidade no AppDbContext.
Simples. Direto. Profissional.
O commit diz o que era para ser feito e o que foi entregue, sem listar arquivos alterados ou detalhes que pertencem ao diff.
Esse é o ponto central: o problema não é o Copilot. O problema é achar que o commit gerado por ele está pronto. Ele fornece um rascunho baseado no que viu no código. Quem coloca intenção, contexto e clareza é o desenvolvedor. Somente o dev sabe responder perguntas como:
- Por que isso foi implementado?
- O que o cliente pediu?
- Qual demanda o commit resolve?
- Qual regra de negócio foi alterada?
A IA entende “o que mudou”, mas apenas o dev entende “por que mudou”.
E commit bom é sobre propósito, não sobre mudança técnica detalhada.
Por isso, continue usando o Copilot para escrever commits , ele acelera o processo e ajuda muito, mas nunca publique um commit bruto. Edite. Adicione o prefixo correto. Remova detalhes desnecessários. Escreva como alguém que entende o contexto do projeto, não como um narrador do diff do Git.
A IA é uma ferramenta. Quem entrega software bem feito continua sendo você.



