Sådan gør du dine forpligtende beskeder fantastiske og holder dit team lykkeligt

Commit-meddelelser er vigtige kommunikationsmidler mellem teammedlemmer

Det, der betyder mest ved teamsoftwareudvikling, er kommunikation. Commit-meddelelser er vigtige kommunikationsmidler mellem teammedlemmer: dets fortid og dens fremtid.

Når vi analyserer koden eller debugger, har vi alle spørgsmål som:

  • Hvorfor er det , hvis her?
  • Hvem har glemt at opdatere filialen?
  • Hvilken indvirkning har denne ændring haft?
  • Hvordan kan denne ændring nogensinde rette eller forbedre koden?

Til dette formål giver git-blame os mulighed for at finde ud af, hvilken revision der var den sidste til at ændre filen. Men bare det at vide det er ikke godt nok. Ville være nyttigt at læse meddelelsen for at forstå, hvad der virkelig skete der.

Vi er nødt til at læse beskeden for at opleve den virkelige værdi af en god meddelelse og være motiveret til at skrive dem.

Nogle bedste praksis

Så hvis størstedelen af ​​din Git forpligter sig indtil videre er skabt med noget som git commit -m "9000 — Bug fixes issue"den næste gang, prøv denne retningslinje:

Brug aldrig o git commit. -m sg& gt; / --message= gt; flag t

Det giver dig en dårlig tankegang lige uden for flagermusen, da du vil føle, at du er nødt til at tilpasse din forpligtelsesbesked til terminalkommandoen, og får forpligtelsen til at føles mere som et engangsargument end en side i historien.

Den første linje skal altid være på 50 tegn eller mindre, og den skal følges af en tom linje.

Skriv en tvingende tid: “Fix bug”. [ Tilføj | Ret | Fjern | Opdatering | Refactor ] Konsistent formulering gør det lettere at behandle en liste over forpligtelser mentalt.

Længere beskrivelse med 72 tegn.

Ofte er et emne i sig selv tilstrækkeligt.Når det ikke er tilfældet, skal du tilføje en tom linje (dette er vigtigt) efterfulgt af et eller flere afsnit, der er hårdt indpakket til 72 tegn.

Disse afsnit skal forklare:

Hvorfor er denne ændring nødvendig?

Dette svar forklarer, hvad de kan forvente i forpligtelsen, så de lettere kan identificere og påpege ikke-relaterede ændringer.

Hvordan løser det problemet?

Beskriv på et højt niveau, hvad der blev gjort for at påvirke forandring. Hvis din ændring er åbenbar, kan du muligvis undlade at løse dette spørgsmål.

Hvilke bivirkninger har denne ændring?

Dette er det vigtigste spørgsmål at besvare, da det kan påpege problemer, hvor du foretager for mange ændringer i en forpligtelse eller gren. Et eller to punktum for relaterede ændringer kan være okay, men fem eller seks er sandsynligvis indikatorer for en forpligtelse, der gør for mange ting.

# 50-character subject line## 72-character wrapped longer description. This should answer:## * Why was this change necessary?# * How does it address the problem?# * Are there any side effects?## Include a link to the ticket, if any.

Sådan gør du dit liv lettere

Det er meget at huske, men du kan oprette en skabelon til meddelelsesbesked ved hjælp af commit.template

Konfigurer Git til at bruge en skabelonfil (for eksempel .gitmessage), og opret derefter skabelonfilen med Vim:

git config --global commit.template ~/.gitmessagevim ~/.gitmessage

Når vi kører git commituden -mmeddelelsesflagget, åbner redaktøren vores nyttige skabelon klar til brug:

# [Add/Fix/Remove/Update/Refactor/Document] [summary]# Why is it necessary? (Bug fix, feature, improvements?)-# How does the change address the issue? -# What side effects does this change have?-# Include a link to the ticket, if any.

Kommenterede linjer er ikke inkluderet i den endelige besked. Udfyld blot de tomme linjer med tekst og punkttegn under vejledningen.

Issue trackere i GitHub og Bitbucket både genkende de søgeord close, fixog resolvefulgte straks ved udstedelse eller pull anmodning nummer.

Jeg tror, ​​Linus ville være meget glad, hvis vi ikke brugte git commit -m "Fix bug"i et offentligt arkiv nogensinde igen :)

Du kan simpelt søge i git-log for et emnenummer, for eksempel med git log --grep=JIRA-1234

Du kan også bruge plugins som vim-fugitivefor vim eller git lensfor vs-kode for hurtigt at få adgang til git commit-meddelelser.

Afsluttende tanker

Oprettelse af ren Git-forpligtelse siger meget om dig og kan være en primær måde, som folk interagerer med dig over projekter.

Med lidt øvelse kan du gøre dine forpligtelsesvaner til en endnu bedre afspejling af dit bedste arbejde - arbejde, der åbenbart er skabt med omhu og stolthed.

Din fremtid, du og dit team, vil takke dig for din omtanke og uddybning, når de løber for git blameat se, hvorfor den betingede er der.

Hvis du kunne lide denne artikel, bedes du klappe, anbefale og dele.