Nos meus projetos em que o repositório é compartilhado entre mim e outros programadores, eu sempre escrevo mensagens de confirmação, mesmo que eu seja o desenvolvedor principal.
Mas naqueles projetos em que sou desenvolvedor solo trabalhando em um projeto, e o repositório está hospedado no meu laptop pessoal e nem mesmo é hospedado pelo cliente, portanto, ninguém, exceto eu, veria os commits, ainda devo escrever commit mensagens?
Até agora, eu os escrevi, mas descobri que nunca mais voltei e vi minhas mensagens de confirmação. Eu levo um tempo de folga para escrever as mensagens, mas elas nunca são vistas novamente, nem por mim.
Existem boas razões para escrever mensagens de confirmação como desenvolvedor solo, ou você deve apenas ignorá-las para manter o foco no desenvolvimento?
fonte
Respostas:
Bem, aqui está uma razão: se você repentinamente perceber que algo foi quebrado nas últimas centenas de confirmações (possível se você confirmar a cada edição menor, menos viável se você, como eu, cometer apenas instantâneos "estáveis"), poderá mais facilmente encontre onde você inseriu o erro se tiver escrito mensagens de confirmação claras, em vez de "correções de erros". (A corda favorita de um colega, acredito). Claro, você pode usar
svn log
o SCM ou o que estiver usando, mas deve ser mais fácil o contrário.As mensagens de confirmação também obrigam você a pensar exatamente o que fez como mudança e, acredito, resumindo em sua mente como seria melhor continuar melhorando o projeto.
fonte
Eu tento sempre. Quantas vezes você olha para trás e pensa: "Cara, o que eu estava fazendo quando fiz essa alteração"? Eu faço o tempo todo. 30 segundos ao escrever uma mensagem, você pode economizar 20 minutos de trabalho tentando se lembrar.
fonte
Você acredita sinceramente que a sobrecarga de digitar entre 40 e 80 caracteres em inglês comum é uma sobrecarga significativa para um commit ou você está procurando uma desculpa para ser preguiçoso?
Talvez o seu problema esteja expressando em inglês simples por que você fez a alteração; nesse caso, pode ser necessário revisar o objetivo da alteração, até o ponto de se perguntar se você realmente precisa fazer isso.
Meu conselho é que não pense que, porque você está voando sozinho, pode quebrar as regras. Permaneça profissional o tempo todo e adicione mensagens de confirmação significativas. Como observado por outros respondedores, um dia você será grato por isso.
fonte
Você nem sempre será um desenvolvedor solo.
Você eventualmente quebrará sua base de código e tentará restaurá-la. Boas mensagens de confirmação economizarão horas.
Você não se lembra do que estava trabalhando há três semanas, certo?
As mensagens de confirmação devem ser muito claras. Caso contrário, você não concluiu o trabalho em uma tarefa ou uma única tarefa se espalhou por duas ou mais tarefas.
fonte
Definitivamente, ou você torna recursos como ramificação e fusão muito mais difíceis de usar. E você vai querer usá-los, mesmo se desenvolvedor solo.
fonte
Um possível motivo para: obriga a pensar de maneira mais abstrata sobre a mudança que você acabou de fazer e a estruturar as mudanças.
Se parecer inútil, talvez apenas comente as principais mudanças ou as que alteram a funcionalidade existente, caso você esteja procurando a fonte de um comportamento estranho.
fonte
Fui o único responsável pelo projeto TXR e mantive um ChangeLog detalhado desde o início do projeto. Isso tem quase 11.000 linhas de comprimento e está crescendo: http://www.kylheku.com/cgit/txr/tree/ChangeLog
(As mensagens de confirmação no repositório são apenas uma cópia do que ocorre no ChangeLog.)
[Edição de 2016: em meados de 2015, não tenho mais um arquivo ChangeLog; no entanto, as mensagens de confirmação são gravadas em um formato compatível com as convenções Git e ChangeLog ao mesmo tempo. O mesmo nível de detalhe existe, de uma maneira que não causa problemas de mesclagem. Um arquivo ChangeLog pode ser reconstruído mecanicamente a partir desses comentários.]
Sim, mais de uma vez, voltei a uma antiga mensagem de confirmação associada a uma alteração que quebrou algo (descoberta com a ajuda de
git bisect
). A mensagem me ajudou a entender o que estava fazendo.No ChangeLog, é possível saber quando uma função, tipo, macro ou variável global foi introduzida pela primeira vez e quando foi posteriormente tocada por alterações.
Mas o principal motivo para escrever mensagens de confirmação detalhadas como essas ao trabalhar sozinho é o seguinte: você encontra erros ao fazer isso .
Escrever uma mensagem de confirmação detalhada traz benefícios semelhantes a uma revisão de código de sua confirmação por outra pessoa. O valor em uma revisão de confirmação não é tanto que alguém está verificando seu código, mas que você precisa explicar suas alterações em outro desenvolvedor.
Quando você tenta explicar as coisas, às vezes descobre que elas não fazem sentido.
Outro motivo: você pode se fazer uma mudança inútil . Ao escrever um comentário de confirmação detalhado, você captura uma visão de alto nível do que está fazendo e, às vezes, é confrontado pelo fato de que não é uma boa mudança.
Às vezes, eu fiz alterações quando, no meio da redação da entrada do ChangeLog, percebi que isso seria um
git reset --hard
(jogar fora essas mudanças inúteis) em vez degit commit -a
.fonte
Embora você ainda não tenha percebido a necessidade de visualizar suas mensagens de confirmação, pode ser muito grato por elas no futuro. Você deve continuar escrevendo-os mesmo para si mesmo. Existem muitos motivos pelos quais eles podem ser úteis posteriormente (você esqueceu por que estava adicionando um recurso, localizou arquivos ausentes etc.)
Aqui está uma pergunta relacionada ao propósito das mensagens de confirmação: Por que devo escrever uma mensagem de confirmação
fonte
Sempre me comprometo com uma mensagem significativa sobre alterações e faço isso frequentemente com alterações incrementais.
Isso é sempre a coisa mais útil? Não, não há problema em fazê-lo. Se você precisar reverter para um estágio anterior em andamento, suas mensagens informarão onde você está e o que fez. Também pode ser usado para acompanhar o progresso de um projeto. Quanto a ser visto como uma perda de tempo, os 30 segundos necessários para anotar uma frase são realmente conseqüentes?
fonte
Não vejo diferença em relação às mensagens de confirmação, esteja você trabalhando em equipe ou não. Você se lembra do que fez aqui ou ali apenas por um tempo limitado e, depois disso, é o mesmo que se alguém o tivesse escrito. Portanto, você deve escrever mensagens tão boas quanto você faria para as outras pessoas.
fonte