Na primeira linha de uma mensagem de confirmação do git, tenho o hábito de mencionar o arquivo que foi modificado se uma alteração não abranger vários arquivos, por exemplo:
Add [somefunc] to [somefile]
Isso é bom ou desnecessário?
As ferramentas de controle de versão são poderosas o suficiente para permitir que a pessoa veja quais arquivos foram modificados e quais métodos foram adicionados. Isso significa que, em geral, as mensagens de log que duplicam claramente o que já existe estão poluindo o log.
Você adicionou um somefunc
método para atender a um requisito, ou seja:
Isso significa que suas mensagens de log devem explicar quais recursos / bugs foram afetados ou qual foi o objetivo da refatoração.
Não. Existem várias maneiras de examinar o conteúdo de uma confirmação. O comentário deve descrever o objetivo do commit.
fonte
Não se esqueça de adicionar o número do bilhete / problema .
Se você tiver algum recurso ou sistema de rastreamento de problemas com um número de ticket ou número de problema , certifique-se de colocar esse número de ID no commit. Isso ajudará quem quiser saber mais sobre o recurso ou problema em que você estava trabalhando.
No meu último projeto, houve uma macro que foi desenvolvida para garantir que os 7 primeiros dígitos do comentário fossem um número de problema válido de uma busca clara (nosso sistema de rastreamento de problemas / recursos).
fonte
Eu faço esse tipo de coisa ao confirmar, por exemplo, a correção de um defeito que exigia alterações em vários arquivos. Isso torna um pouco mais fácil dizer o que realmente mudou sem examinar os arquivos individuais no conjunto de alterações.
Para conjuntos de alterações de arquivo único, isso é desnecessário.
A primeira linha é sempre uma descrição de alto nível do changeset, como um link para o defeito ou a história do usuário.
fonte
Se houver informações relevantes na narrativa da mensagem de confirmação, inclua-as. Se a única informação é o nome do arquivo, então não.
Por exemplo, isso faz sentido: "Movemos a função build_foo () de fooutil.c para foobase.c, pois a maioria dos programas que deseja usar o build_foo () já inclui o foobase.c"
Este não: "Atualizado o build_foo () no fooutil.c para obter um parâmetro de barra."
fonte
Eu quero adicionar uma perspectiva diferente aqui.
Minha resposta é sim ou não. Mas geralmente eu diria que sim.
O controle de versão é realmente poderoso o suficiente para saber qual arquivo está sendo atualizado. Mas quando fazemos
Nós vemos apenas a mensagem de confirmação. É o que a maioria das pessoas faz.
Examinando o próprio log. Ele adiciona contexto adicional a ele. Por exemplo:
É melhor que
No entanto, se as alterações gerarem vários arquivos, mencione pelo menos o componente que está sendo editado.
Ao ler, sabemos que o erro que está sendo corrigido está no componente API e provavelmente no diretório API na base de código.
No entanto, poderíamos fazer
mas adiciona mais etapas apenas para obter os arquivos.
fonte
A única vez em que pude ver isso útil para um único check-in de arquivo é se você fez alterações em uma função usada em muitos locais do arquivo, com o resultado de que o diff está desordenado. Mesmo assim, eu colocaria o número do rastreador de alterações e uma descrição em texto simples da alteração.
fonte
Eu acho que a verdadeira questão aqui é quão limitado no escopo são seus commits? Se você esperar para confirmar uma variedade de alterações não relacionadas juntas em uma confirmação, poderá sentir a necessidade de especificar quais arquivos foram alterados para qual finalidade.
No entanto, se você simplesmente fez confirmações mais restritas com mais frequência, uma única confirmação explicaria quais arquivos foram modificados e você poderia simplesmente descrever qual era o objetivo da mensagem.
Mais confirmações, com mais frequência. É assim que você pode evitar ser tão detalhado em suas mensagens.
fonte
Não deveria
Todos os interessados podem ver mudanças em uma história
Também não é viável em sistemas maiores, pois muitos arquivos podem ser gerados automaticamente
fonte