de Hasit Mistry

Obțineți mesaje Git Commit mai bune cu Atom

Obtineti mesaje Git Commit mai bune cu Atom

Recent, am întâlnit două posturi iluminante despre scrierea unor mesaje de comitere Git mai bune. Aceste postări oferă sugestii despre cum ar trebui să arate un mesaj de comitere bine structurat și oferă exemple clare.

Aceste două postări de blog m-au făcut să mă întorc la depozitele mele și să-mi citesc mesajele de confirmare. Și, ca să fiu sincer, m-am simțit puțin rușinat de trecutul meu de atunci.

Puteți întreba „de ce sunt chiar importante mesajele de confirmare?” Dacă te pui la întrebarea asta, ești ca versiunea mea cu o săptămână mai tânără.

Doar pentru a vă face o idee, Figura 1 arată câteva dintre mesajele de confirmare din proiectul meu licența aceasta. Promit că codul este mult mai bun decât mesajele de confirmare.

Obtineti mesaje Git Commit mai bune cu Atom
Figura 1. licența aceasta comite mesaje de la începutul acestui an.

Nu este surprinzător cât de puțin îmi spun aceste mesaje de comitere despre munca mea din trecut. Asta pentru că nu am luat în serios scrierea lor.

Pentru a înțelege de fapt ce modificări au contribuit fiecare commit, a trebuit să intru în fiecare commit și să citesc modificările rând cu rând. Acest lucru este cel puțin plictisitor.

La momentul redactării acestor mesaje de comitere, am izbucnit invariabil tot ceea ce avea sens pentru mine în acel moment, fără să iau în considerare modul în care eu – sau oricine altcineva – ar înțelege textul într-o etapă ulterioară.

În primul rând, să sintetizăm toate informațiile pe care le-am absorbit din postările de blog menționate mai sus. Apoi voi da sfaturi de lucru despre cum Atom poate fi folosit ca un instrument pentru a scrie mesaje de comitere mai bune pentru mine și pentru ceilalți care sunt interesați să facă același lucru.

Rețineți că nu voi scrie despre Cum pentru a scrie un mesaj de comitere bun. Chris Beamspostarea minunată pe Cum se scrie un mesaj Git Commit explică doar asta și multe altele în șapte reguli.

Înainte de a începe, să ne uităm la următorul bloc de text pentru a înțelege ceea ce este considerat un mesaj de validare corect structurat, intenționat și bine scris:

# Subject in (preferably) less than 50 charactersThis is the subject of this commit message
# Body in greater detailThis is the body of this commit message. The body is written after the subject line with one blank line in between. The blank line is used by various tools (such as 'git log', 'git show', etc.) to differentiate subject from body. Further paragraphs are also separated by blank lines.
Explain the problem being solved by this commit. More importantly, explain why these changes are being made, as opposed to how. The 'why' part is your responsibility, the 'how' part is code's responsibility.
- You can also use bullets like this.- Or, like this.

Câteva exemple grozave de astfel de mesaje de confirmare pot fi găsite la Linux și Git depozite pe GitHub.

Acum, este de înțeles că nu fiecare comitere aduce schimbări mari depozitului. Unele comiteri ar fi pentru remedierea greșelilor de tipar, iar altele pentru schimbarea ordinii de linie sau a indentării. În astfel de cazuri, o linie de subiect de la sine ar trebui să fie suficientă.

Atom este un editor de text pe care îl folosesc pentru orice! Îl folosesc pentru a lua notițe la curs, pentru a finaliza sarcini de scriere în Markdown (cu excepția cazului în care am absolut nevoie de puterile superioare ale MS Word) și pentru programarea zilnică a proiectelor.

Continuu să-mi reglez Atom încetul cu încetul, de fiecare dată când învăț ceva nou, este distractiv să văd fișierele mele de configurare cresc lent.

Deci, haideți să începem prin setarea lui Atom ca editor de confirmare implicit pentru git și verificând dacă același lucru s-a întâmplat corect folosind următoarele comenzi din terminal:

git config --global core.editor "atom --wait"
git config --get core.editor
# Which should give you the output: atom --wait

Schimbați culoarea liniei subiectului în funcție de lungimea acesteia

Mai întâi, vom configura Atom astfel încât să schimbe culoarea liniei subiectului în portocaliu dacă lungimea depășește 50 de caractere și în roșu dacă lungimea depășește 65 de caractere. Puteți citi mai multe despre integrările git pentru Atom la Integrarea Git.

Deschideți fișierul Atom’s styles.less, care se află sub opțiunea meniului „Atom”:

1611548107 904 Obtineti mesaje Git Commit mai bune cu Atom

Scrieți următoarele linii de cod în fișierul Atom’s styles.less:

atom-text-editor::shadow { .git-commit.invalid.deprecated.line-too-long {  color: @text-color-warning;  text-decoration: none; }
 .git-commit.invalid.illegal.line-too-long {  color: @text-color-selected;  background: @background-color-error;  opacity: 0.9; }}

După ce ați făcut modificările și ați salvat fișierul, Atom se va comporta așa cum se arată în Figura 2.

Obtineti mesaje Git Commit mai bune cu Atom
Figura 2. Comitează comportamentul liniei subiectului mesajului în Atom.

Scrieți un fragment pentru structura mesajului de confirmare

În al doilea rând, vom scrie un scurt fragment pentru mesajele de confirmare. Acest fragment va furniza substituenți pentru linia subiectului și corpul care pot fi navigate utilizând tasta TAB.

1611548108 185 Obtineti mesaje Git Commit mai bune cu Atom

Scrieți următoarele linii de cod în snippets.cson ale lui Atom:

'.text.git-commit':  'commit-message':    'prefix': 'comm'    'body': """      ${1:Subject < 50 chars}
      ${2:Body in detail}    """

După ce faceți modificările și salvați fișierul fragmente, data viitoare când deschideți mesajul de confirmare, trebuie doar să tastați com și apăsați TAB pentru a vă extinde fragmentul.

Odată ce fragmentul a fost extins, puteți apăsa din nou TAB pentru a sări cursorul de la „linia subiectului” la „corp”. Figura 3 prezintă acest fragment în acțiune.

1611548109 251 Obtineti mesaje Git Commit mai bune cu Atom
Figura 3. Fragmentul „comm” în acțiune.

Aceste mici fragmente de cod au îmbunătățit cu siguranță fluxul meu de lucru git commit și sunt încrezător că pot să-l îmbunătățească.

Dacă aveți alte fragmente legate de comiteri pe care le utilizați în Atom, vă rugăm să vă asigurați că le postați. Mi-ar plăcea să arunc o privire și poate să le încorporez în fluxul meu de lucru.

De asemenea – pentru cei curioși – iată o listă de teme și pachete pe care le-am folosit în figurile de mai sus: