![Page 1: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/1.jpg)
Verzió követő rendszerek(SCM)
SIPOS PéterSzoftverfejlesztési csoportvezető[email protected]+36309280477
![Page 2: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/2.jpg)
Tartalom
• Mire jók a verziókövető rendszerek?
• Mik az alapvető utasítások a verziókövető rendszerek esetében.
• Ismerkedés a GIT-el röviden.
• Hogyan javítsunk a kódminőségen SCM-el?
• Milyen workflow-t alkalmazzunk?
![Page 3: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/3.jpg)
Verziókövető rendszerek
• SCM – Source Control Mangement
• Kódváltozások archiválása
• Kooperáció a csapaton belül
![Page 4: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/4.jpg)
Kódváltozások archiválása
„Nobody actually creates perfect code the first time around, except me. But there's only one of me. ”
Linus Torvalds, 2007.
• Könnyebb hibajavítás, ha valaki eltörte a kódot
• Mindennek nyoma marad, nincs véletlenül kidobott kód
• Centralizált esetben a kód biztonságos szerveren van
• Egymástól eltérő kódbázis fenntartása közös alapokon
![Page 5: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/5.jpg)
Kooperáció a csapaton belül
• Külön fejlesztési ágak létrehozása
• Leegyszerűsített code review
• Könnyebb áttérés egy másik munkára, hibajavításra
• Egymás kódjának megtekintése, azonnali közreműködés
• Release és tesztelési folyamat leegyszerűsödik
Mindig vannak hibák. Az SCM lehetővé teszi ezek nyomon követhetőségét.
![Page 6: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/6.jpg)
De hogyan is „verziókövessünk”?
• Nem csak magunknak végezzük, sőt elsősorban másoknak
• Mindent részletesen írjunk le
• Alapvető utasítás: „commit”
• Legyen minél gyakoribb és egyértelmű a commit
• Figyeljünk rá, hogy minden lényegeset feltegyünk, a szemetet pedig ne (fordító fájljai, ideiglenes object-ek, stb…)
![Page 7: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/7.jpg)
A „Commit”
• Lehető leggyakrabban, amikor kis funkció elkészül (akár 10 soronként)
• Csak összetartozó kódok legyenek egy commit-ban (interfacemódosítás, új funkció)
• Nem gond, ha a commit nem működik
• Legyen beszédes és egyértelmű
• Legyen angol nyelvű
![Page 8: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/8.jpg)
The good commit message*
• Separate subject from body with a blank line
• Limit the subject line to 50 characters
• Capitalize the subject line
• Do not end the subject line with a period
• Use the imperative mood in the subject line
• Wrap the body at 72 characters
• Use the body to explain what and why vs. how
* Source: http://chris.beams.io/posts/git-commit/
![Page 9: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/9.jpg)
Other commands
• Clone - saját másolat készítése
• Tag - megcímkézés
• Push - feltöltés
• Pull - letöltés
• Merge – összeolvasztás
• Checkout - egy állapot megtekintése
![Page 10: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/10.jpg)
GIT verziókövető rendszer
Ingyenes.
• Nem kifejezetten centralizált
• A változások csak munkamásolatként léteznek (working copy)
• A commitra jelölt változások a stage-be kerülnek
• Lehetőség van „remote” beállítására
• Init, clone, commit, add, tag, push, pull, fetch, merge, revert, …
http://pcottle.github.io/learnGitBranching/
![Page 11: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/11.jpg)
Source: http://explainxkcd.com/wiki/index.php/1597:_Git
![Page 12: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/12.jpg)
Kódminőség javítása
• Visszakövethetőség
• Könnyű hibajavítás
• Könnyű megtalálni egy sor felelősét
• Könnyű code review, így uralni lehet a kódot
• A commitokra bontás átgondolttá teszi a folyamatot
![Page 13: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/13.jpg)
Workflow
• Stabil (védett) ágak működő verzió érdekében
• Minden funkció külön ágok (branch) fejlődik
• A funkció ágak csak ellenőrzés után kerülnek be a stabil ágba
![Page 14: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/14.jpg)
Worklow
Soruce: https://www.linkedin.com/pulse/git-merge-resolving-git-merge-conflict-code-branches-gaurav-aggarwal
![Page 15: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/15.jpg)
Tools
• Gitlab*
• Gitorious
• GitHub
![Page 16: Short review about Source Control Management systems (hungarian)](https://reader034.vdocuments.site/reader034/viewer/2022042610/58aa51fa1a28ab10578b54ad/html5/thumbnails/16.jpg)
Kérdések?