< Git

A git hatékony használata

Szerző: Sallai András

Copyright © 2020, Sallai András

Szerkesztve: 2020, 2022

Licenc: CC BY-SA 4.0

Web: https://szit.hu

Előfeltevések

Négy ember fog dolgozni a projekten:

János – projekt vezető

Mari – fejlesztő

Kati – fejlesztő

Béla – fejlesztő

Fejlesztési folyamat

Kezdésnek, a master ágból létrehozunk egy release vagy egy dev nevű ágat. A fejlesztők ebből ágaztatják el saját munkájukat.

A fejlesztő a következő feladattípusokból választhat:

feature

enhance

cleanup

refactor

fix – javítás

hotfix – sürgős javítás

Ezeket szerepeltetjük az ág nevében, de hozzáadjuk az aktuális munkát leíró nevet is. A következő két ábrán ennek két példáját láthatjuk.

Ugyanaz más nevekkel:

Master branch

A master branch-be senki nem ír kódot.

Ez csak egy másolat arról a kódról, ami termékként ki van adva.

A projekt vezető sem ír a master branchbe.

Mindenki máshol írja az aktuális kódot.

Release branch

A master branch-ből készítünk egy release branch-et.

Minden kód itt lesz.

A release branch-ben a release csak egy prefix, amit release/ formában használunk.

Legyen példul release/triangle

Előfordulhat, hogy azonos kódbázison több projekt is fut. Ezért használjuk release/ prefixumot

Funkció branch

Az alkalmazásba épített minden szolgáltatás egy funkcióként van megvalósítva.

A funkció branch olyan mint a többi, de feature/ formában használjuk.

János megkéri Bélát,

hozzon létre egy osztályt, ami képes egy háromszög adatait tárolni.

feature/store

János megkéri Marit,

hozzon létre egy Triangle osztályt, amely kiszámolja egy háromszög kerületét.

feature/triangle

János megkéri Katit,

írjon tesztet, amely Béla és Mari osztályához.

feature/test

Béla befejezte a feature/store-t, akkor elküldi a kódját a release/triangle branch-be.

Béla pull request kérést intéz.

Pull request

A pull request fogalmat a github webes felületén vezették be.

A Pull request nem tévesztendő össze a git pull paranccsal.

A fejlesztő nem tudja közvetlenül a kiadási ágba küldeni a kódot.

A műszaki vezetőnek (vezető fejlesztő) felül kell vizsgálnia a kódot, mielőtt a release ágba kerül.

A technikai ellenőrzés után, a műszaki vezető beolvasztja a kódot a release ágba.

Ha minden funkció kész, akkor összeolvasztásra kerülnek, majd mehet a master ágba.

Kezdés

A touch parancs unix alapú rendszereken, Windowson pedig Git Bash-ben áll rendelkezésre.

Készítsünk egy állományt kezdésnek:

touch main.c

Ha az adott gépen nincs touch parancs, bármivel létrehozhatjuk az állományt.

Készítsük el a git tárolót és a kezdő commitot.

git init git add main.c git commit -m "Kezdés"

A master ágban minimum egy commit-nak lennie kell, mielőtt létrehozunk egy új branchet.

Release ág

Hozzuk létre a release ágat, majd álljunk át.

git branch release/triangle git checkout release/triangle

Hozzunk létre egy kezdő állományt és commitot:

touch store.c git commit -m "A store.c létrehozva"

Feature ág

git branch feature/store git checkout feature/store

nano store.c git add store.c git commit -m 'A store() függvény kész'

Forrás

https://www.freecodecamp.org/news/how-to-use-git-efficiently-54320a236369/ (2020)