際際滷

際際滷Share a Scribd company logo
WebElement #20
Hacking Life With GIT
Upraven叩 verzia
GIT partiz叩n
TFS Server
GIT <-> TFS
GIT
TFS ClientTFS Client
Land of unicorns
WTF Servers
Scen叩re
 GIT <-> * synchroniz叩cia
 r箪chly prenos zdroj叩kov
 configuration management
 database management
 transform叩cia d叩t
 h直adanie ch箪b
GIT <-> * synchroniz叩cia
Version
Control
System
GIT
* (download)
git add --all
git commit -m
git diff --name-status HEAD^
* (upload)
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
Configuration Management
Ignored changes
Server versioned
changes (shared)
Locally versioned
changes (non-shared)
Konvencia: IGNORE commity nie s炭 nikdy pushnut辿 do remote vetvy
Configuration Management (2)
git cherry-pick
Nov叩 feature vetva
Configuration Management (3)
Pr鱈prava na push do remote vetvy
git cherry-pick
resp.
git rebase -i
v邸etky commity okrem IGNORE
Configuration Management (4)
git push git rebase
V箪sledok: lok叩lna vetva st叩le obsahuje na邸u konfigur叩ciu, bez vplyvu na ostatn箪ch
DB management
Database
Script DDL
Script data
GIT
Diff
Grep
DB management (2)
V箪hoda: zmeny v DDL sa 直ahko sleduj炭
DB management (3)
Prax: kombin叩cia CREATE + ALTER
Iter叩cia N
Alter Alter
Migr叩cia
Create
Snapshot
na zaiatku iter叩cie
Iter叩cia N+1
Alter Alter
Migr叩cia
Create
Snapshot
na zaiatku iter叩cie
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
Transform叩cia d叩t (2)
Zmena
k坦du
Zmena
d叩t
Transform叩cia d叩t (3)
Zmena
k坦du
Zmena
d叩t
Transform叩cia d叩t (4)
V箪hody: absol炭tna kontrola
 jednoduchos泥
 zmeny voi predo邸l辿mu kroku
 zmyslupln辿 checkpointy
 直ahk辿 experimentovanie (vetvy)
Squash!
H直adanie ch箪b
Scen叩r: dlho neodhalen叩 regresn叩 chyba
Idea: bin叩rne vyh直ad叩vanie v commitoch
H直adanie ch箪b (2)
dlh叩 doba
regresn叩 chyba
OK
chceme n叩js泥
H直adanie ch箪b (3)
chyba
niekde tu
H直adanie ch箪b (4)
chyba
niekde tu
H直adanie ch箪b (5)
V箪sledok: r箪chla identifik叩cia commitu s chybou
Automatiz叩cia:
 git bisect

More Related Content

WebElement #20: Ondrej Svitek - Hacking Life With Git