A Git egy verziókezelő, ami arra szolgál, hogy file -ok különböző verzióit kordában tartsa, tárolja és megossza. Aktívan karbantartott, nyílt forráskódú projekt, amelyet eredetileg 2005-ben Linus Torvalds fejlesztett ki, a Linux operációs rendszer kernelének híres megalkotója. Ma már bátran kijelenthetjük, hogy a modern szoftverfejlesztéshez nélkülözhetetlen a Git verziókezelő használata. De mi a commit message, miért van rá szükség és hogyan lehet jól írni?
Git működése
A Git használata szemléletbeli különbséget jelent ahhoz képest, ahogy eddig fejlesztettél. A munkád nem akkor lesz elmentve, ha megnyomtad az editorban a save gombot, hanem akkor, amikor a helyi Git adatbázisodba is bekerültek a változások. Ezt az a bizonyos bűvös commit.
Ha Git -et használsz a munkafolyamat röviden a következő:
- git pull Frissíted a helyi géped Git adatbázisát a központi szerverről. Így megkapod a legfrissebb verziót, felkészülve arra, ha valaki más is beleírt azóta a file -okba.
- git add, vagy git stage Ha olyan állapotba kerültél amit érdemes menteni, akkor megmondod a Git -nek melyik file -t vegye figyelembe.
- git commit Mented a helyi géped Git adatbázisába a változásokat
- git push Végül pedig feltöltöd a módosított adatbázist a központi szerverre
Mi az a commit message és miért annyira fontos?
Mielőtt elmented a helyi géped Git adatbázisába a változtatásokat, ezt előbb el kell mondanod a Git -nek. A változások könnyű beazonosításához legegyszerűbb, ha egy üzenetet adsz hozzá a commithoz. Ezt az alábbi paranccsal tudod megtenni:
git add admin/config.yml
git commit -m "Adminisztrációs konfiguráció jogok beállítása"
Ha szeretnéd az utolsó commitot módosítani akkor ehhez az –amend kapcsolóra lesz szükséged. Felülírni vagy módosítani az utolsó commitot csak addig lehet, amíg még nem küldted el a központi szerverre, azaz nem volt még push.
git add .
git commit --amend -m "Adminisztrációs konfiguráció jogok beállítása"
Miért fontos a jó commit message?
Ha mások is dolgoznak a projekten akkor elkerülhetetlen, hogy mindenki tudja mit miért változtattál. Ha jól kommunikálsz a commit message -ben segítesz megérteni másoknak a fejlesztésed lényegét. Ha véletlenül hiba kerülne a kódba, gyorsabban megtalálható, ha a commit message jól van megírva.
„De amin dolgozok az személyes projekt minek magamnak üzengetni?”. Ez a fajta gondolkodás teljesen jogosnak tűnik. De vedd figyelembe, hogy a commit message nem csak a csapatnak szól, hanem a jövőbeli önmagadnak is. Ki emlékszik a 2 hónappal ezelőtti fejlesztésére, arra mit miért csinált és a feature miért is került bele a fejlesztésbe? Ha nem akarsz magadnak hosszas fejtörést okozni, érdemes a jó commit message -re törekedned és időt szánnod rá.
Hogyan lehet Gitben commit message -t írni?
Kis módosításoknál elég az egyszerű üzenet:
git commit -m "Helyesírás javítása a README.txt -ben"
Komplex, bonyolultabb módosításnál ha részletezni szeretnéd a módosítást akkor ezt a következő paranccsal tudod megtenni:
git commit -m "Az üzenet tárgya" -m "Az üzenet részletes leirása..."
Ha az alapértelmezett editorodban szeretnéd szerkeszteni, akkor paraméter nélkül add ki a git commit parancsot. Ilyenkor megnyílik az alapértelmezett editor -od az előre definiált commit message sablon betöltésével. Ha változtatni szeretnéd az alapértelmezett editorod azt a következő paranccsal tudod. Természetesen a nano helyett írd a kedvenc editorod „vim”, „emacs” stb.
git config --global core.editor nano
Hogyan lehet jó commit message -t írni?
Nem mondok újat azzal, hogy az a jó commit message, amiben a csapat fejlesztői közösen megállapodnak. Ez hasonlít a „kód stílus” megállapodáshoz. Csak akkor van értelme, ha a csapat minden tagja következetesen betartja. Természetesen ha csapatot váltasz, ez a stílus is változhat. Így több „jó” commit message is létezhet. Az alábbi szabály egy javaslat, érdemes a csapatoddal időt szánni és létrehozni a saját szabályotokat.
- Az üzenet típusainak deklarálása:
- feat: Új feature
- fix: Hibajavítás
- style: Minden ami a stílust érinti
- refactor: A kód újragondolása refaktorálása
- test: Minden ami a teszteléshez tartozik
- docs: Minden ami a dokumentációhoz tartozik
- A tárgyat és a leirást válaszd el egy üres sorral
- Ne használj felesleges írásjeleket
- A tárgy sort ne fejezd be ponttal
- A tárgy sor és az összes bekezdés a leirásban nagy betűvel kezdődjenek
- A leirás tartalmazza, hogy milyen változásokat miért végeztél.
- Mindig feltételezd, hogy aki olvassa nem tudja az eredeti problémát ezért ezt sose felejts ki.
- Sose gondold, hogy a változtatott kód majd magát megmagyarázza
- Mindig kövesd a csapat által megalkotott szabályokat.
- Ha feladatkezelőt használsz ne felejtsd el hozzáadni a feladat azonosítóját
Konklúzió
A jó commit message legfontosabb követelménye, hogy világos és értelmes legyen. Hosszú távon az üzeneteid írása megmutatja, hogy mennyire vagy következetes munkatárs és jó csapattag. Nehéz együtt dolgozni azzal, aki nem tartja be a közös megállapodásokat. Bárcsak azt mondhatnám, hogy jó commit message író vagyok, mert nem vagyok az. Nekem is azzá kell válnom.
Végül egy link ahol részletesen ismerkedhetsz a git veziókövető előnyeiről: https://git-scm.com/book/en/v2