Programozás | Verziókezelés » Csorba Kristóf - Mindennapi informatikai alkalmazások, Git, verziókezelés

Alapadatok

Év, oldalszám:2018, 34 oldal

Nyelv:magyar

Letöltések száma:25

Feltöltve:2024. december 14.

Méret:1 MB

Intézmény:
[BME] Budapesti Műszaki és Gazdaságtudományi Egyetem

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!

Tartalmi kivonat

Mindennapi informatikai alkalmazások – Git, verziókezelés Csorba Kristóf (kristof@aut.bmehu) 2018. ősz 1 “Tudunk gyorsan demózni egyet?” “Persze, nem gond. Most kicsit darabokban van a firmware, de mindjárt feltöltök egy jót.” 2 Hajjaj. 20160905.zip firmware2016szept06.zip f szept8.zip demo szept06.zip demo0 javitva.zip demo1 javitva final.zip demo2 felkesz.zip demo2 ok.zip demo2 final.zip demo2 final megsem.zip 3 Mi a verziókezelés? • Egyéni vagy csapatmunka követése “zip – email – dropbox” helyett. • Munkakönyvtár elmentett és megosztott állapotai, vissza lehet állítani > legutolsó jó verzió > “a márciusi demó verziója” > ideiglenesen félrerakott verzió • Párhuzamos munka összefésülése Git, TFS, SVN, CVS, Perforce 4 Példa: cv4sensorhub repository 5 Centralizált vagy deceltralizált repository kliens repository kliens kliens kliens repository repository kliens kliens origin

repository egyéb repository 6 Mit verziókezelünk? IGEN (ami a fordításhoz kell) NEM (ami generálódik vagy felhasználó specifikus) forráskód fájlok (LaTeX diplomaterv) projekt fájlok (pro, pri, sln.) erőforrások: ico, svg, png. fordítás eredményei *.obj, *.o, *.exe (ami generálódik) Felhasználói beállítások: *.user, *.filter .gitignore 7 Repository és munkakönyvtár állapot elmentése repository munkakönyvtár állapot visszaállítása 8 Commitok és gráfjuk javítás, HEAD új funkció első commit history: korábbi commitok sorozata 9 Hogyan lesz nekem ilyen? • Git (win: saját shell, parancssoros), GitExtensions, pl. GitHub (student license) https://git-scm.com/ http://code.googlecom/p/gitextensions/ https://github.com/ GitExt vagy clone. Git GitHub.com 10 Snippetek • http://bmeaut.githubio/snippets/#git • Pro.Git könyv • http://training.githubcom/kit/downloads/githubgit-cheat-sheetpdf • Kulcsgenerálás,

GitExtensions, github első lépések https://www.youtubecom/watch?v=OntibzA4038 • Demó (színekkel): https://youtu.be/OOHnNx1M2aY 11 DEMÓ. 12 A commit gráf, alapműveletek 13 A commit gráf (fa, merge commit) • Commitok és szülő(k) • Branchek (local, remote) • Merge commit 14 Műveletek: Staging, commit (push) 15 A commit message. “töröltem a default.ini-t” “áthelyeztem az InitSettings osztályt” “már majdnem kész.” “javítások” “small fixes” “Új kezdőlap” “ADC init hiba javítva” “#1344 könyvtár jogosultság javítva” Nem mit (az látszik), hanem miért! 16 Branchek, vagyis ágak. • A branch csak egy hivatkozás egy commit-ra. • A tag is ilyen, csak nem mozog vele tovább • HEAD referencia: amire commitolni fogok branch2 HEAD branch1 “Most akkor hol is tartok/tartunk?” 17 Műveletek: merge Merge commit vagy fast forward. 18 Műveletek: 3-way merge (KDiff3) 19 Rebase f1 f1

f2 f2 20 Cherry picking f1 f2 f1 21 f2 Mi van a .git könyvtárban? 22 Jogosultság kezelés, remote 23 Git authentikáció • SSH kulcs alapú • felhasználói név és jelszó SSH kulcs alapú azonosítás nyilvános kulcs és tanúsítvány egyeztetés kliens session key egyeztetés alkalmazás specifikus kommunikáció (felhasználói név, jelszó) 24 szerver Remote • Egy vagy több (origin) • Sima könyvtár (bare) • remote branch létrehozása és törlése (tracking branch) • tag és pusholása Andezit f1 origin/f1 f1 master origin/master Bazalt origin origin/f1 master 25 f2 origin/master Reset 26 Git Flow 27 Feature flagek és master branch • Minden feature branch a master-re mergelődik. • Feature flag-ek kikapcsolják, ami még nincs készen. > Feature flag logika, pl. publikus, alfa és beta teszterek, A-B testing 28 GitHub.com • Public és private repository (student license) • Git server •

issue tracker (assignee, labels, milestone) • Wiki • fork és pull request • Markdown támogatás 29 Snippetek • • • • • • 0116 GitAuth 0128 GitHalado 0129 GitTuzvedelem 0137 GithubForkPullReq 0138 GitParancssor Git első fejlesztési lépések (merge, rebase) https://youtu.be/OOHnNx1M2aY • Github és ssh kulcs https://www.youtubecom/watch?v=OntibzA4038 miniOHV: http://goo.gl/forms/dS5aJN6zHT 30 Félelmek, és amikor megbomlik a rend Mikor tűnik el valami véglegesen? Lord Meldrum: “A világ megbolondult. Megyek, lefekszem!” 31 Elveszített commit 32 Amend commit Csak ha még nem push-oltunk! 33 git rebase -i HEAD~3 (Squashing) 34