WebElement #20: Ondrej Svitek - Hacking Life With Git
-
Upload
webelement -
Category
Education
-
view
1.321 -
download
2
Transcript of WebElement #20: Ondrej Svitek - Hacking Life With Git
![Page 1: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/1.jpg)
WebElement #20
Hacking Life With GIT
Upravená verzia
![Page 2: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/2.jpg)
GIT partizán
TFS Server
GIT <-> TFS
GIT
TFS Client TFS Client
Land of unicorns
WTF Servers
![Page 3: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/3.jpg)
Scenáre
• GIT <-> * synchronizácia
• rýchly prenos zdrojákov
• configuration management
• database management
• transformácia dát
• hľadanie chýb
![Page 4: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/4.jpg)
GIT <-> * synchronizácia
Version Control System
GIT
* (download) git add --all git commit -m
git diff --name-status HEAD^ * (upload)
![Page 5: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/5.jpg)
Rýchly prenos zdrojákov
Problém: pomalá sieť + veľa malých súborov
• git gc --aggressive --prune=now
• xcopy .git
• git reset --hard
![Page 6: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/6.jpg)
Configuration Management
Ignored changes
Server versioned changes (shared)
Locally versioned changes (non-shared)
Konvencia: „IGNORE“ commity nie sú nikdy pushnuté do remote vetvy
![Page 7: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/7.jpg)
Configuration Management (2)
git cherry-pick
Nová feature vetva
![Page 8: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/8.jpg)
Configuration Management (3)
Príprava na push do remote vetvy
git cherry-pick resp.
git rebase -i
všetky commity okrem IGNORE
![Page 9: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/9.jpg)
Configuration Management (4)
git push git rebase
Výsledok: lokálna vetva stále obsahuje našu konfiguráciu, bez vplyvu na ostatných
![Page 10: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/10.jpg)
DB management
Database
Script DDL
Script data GIT
Diff
Grep
![Page 11: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/11.jpg)
DB management (2)
Výhoda: zmeny v DDL sa ľahko sledujú
![Page 12: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/12.jpg)
DB management (3)
Prax: kombinácia CREATE + ALTER
Iterácia N
Alter Alter
Migrácia
Create
Snapshot
na začiatku iterácie
Iterácia N+1
Alter Alter
Migrácia
Create
Snapshot
na začiatku iterácie
![Page 13: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/13.jpg)
Transformácia dát
Scenár: komplikovaná transformácia (textu)
Idea: malé kroky, commitovať zmeny kód + dáta
Kód
Dáta
Transform header
Kód
Dáta
Transform body
Kód
Dáta
Transform footer
![Page 14: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/14.jpg)
Transformácia dát (2)
Zmena kódu
Zmena dát
![Page 15: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/15.jpg)
Transformácia dát (3)
Zmena kódu
Zmena dát
![Page 16: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/16.jpg)
Transformácia dát (4)
Výhody: absolútna kontrola • jednoduchosť • zmeny voči predošlému kroku • zmysluplné „checkpointy“ • ľahké experimentovanie (vetvy)
Squash!
![Page 17: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/17.jpg)
Hľadanie chýb
Scenár: dlho neodhalená regresná chyba
Idea: binárne vyhľadávanie v commitoch
![Page 18: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/18.jpg)
Hľadanie chýb (2)
dlhá doba
regresná chyba
OK
chceme nájsť
![Page 19: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/19.jpg)
Hľadanie chýb (3)
chyba niekde tu
![Page 20: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/20.jpg)
Hľadanie chýb (4)
chyba niekde tu
![Page 21: WebElement #20: Ondrej Svitek - Hacking Life With Git](https://reader034.fdocuments.net/reader034/viewer/2022052600/5585a8a6d8b42a711a8b4ce0/html5/thumbnails/21.jpg)
Hľadanie chýb (5)
Výsledok: rýchla identifikácia commitu s chybou
Automatizácia:
• git bisect