SlideShare a Scribd company logo
1 of 35
Download to read offline
GIT
for dummies :)
Obsah
● SVN vs GIT
● konfigurace
● založení repozitáře
● odevzání práce
● ignorace
● aktualizování repozitáře
● větve
● tagy
● historie
● rozdíly
Subversion model
● SVN funguje v modelu SEVER x KLIENT
● Bez serveru není klient
● Bez klienta je server na ho***
● Spadne/ztratí se server, můžeme jít všichni domů :)
GIT
● KLON, KLON, KLON....
● Co klon repozitáře, to samostatně fungující repozitář se všim všudy
GIT
● Možnost simulovat SVN filozofii "main repository" (github,
bitbucket, ...)
○ Bare repozitář
○ Umístění nejčastěji nazýváno "origin"
git init --bare
Dost keců :)
...bůh žehnej konzoli
Barvičky
git config --global color.diff auto
git config --global color.ui true
Barvičky
Založení novýho repozitáře
git init
● Je dobré se gitu představit - kvůli podepisování commitů
git config user.name "Venca Pádlo"
git config user.email "venca@senik.cz"
První narvání věcí do našeho
repozátaře
git add ./
● git add * přidá všechny ^(?<!.)[^.]+ soubory
git commit -m "Initial commit"
První narvání věcí do našeho
repozátaře
Další změny, další commity
vim
... datly, datly, datly, ...
git status
git add ...
git commit -m "..."
(git commit -am "...")
Ignorace
soubor .gitignore
*.swp
/*.test
!/important.test
Práce hotová - odevzdáme
git push
● Vezme z konfigu všechny branche a pushne je na server tak,
jak je má nalinkované
master -> master
develop -> develop
git push origin develop:master
○ Vezme lokalni develop branch a pushne ji do vzdalene master
branche
Stáhnout práci jiných / aktualizovat
lokální repozitář
Stáhnout práci jiných / aktualizovat
lokální repozitář
git pull
● Vezme z konfigu všechny branche, zavolá na nich fetch a
pak merge.
● Fetch updatuje lokální repozitář (nikoli pracovní kopii).
● Merge vezme změny z lokálního repozitáře a aplikuje je na
aktuální branch.
master -> master
develop -> develop
Přehled
Větve (ne ty na stromě)
git branch
Větve
git branch -r
● větve v nalinkovaných repozitářích (vzdálené větve)
Větve - scenář 1
git branch fix
git checkout fix
vim
... datly datly datly...
git commit -am "Bugfix - #5564"
git checkout master
git merge fix
git branch -d fix
Větve - scénář 2
git branch suggestion
git checkout suggestion
vim
... datly datly datly...
git commit -am "Cool feature"
git push -u origin suggestion
Větve
git push origin :suggestion
● smaže vzdálenou branch
Tagy
git tag
Tagy
git tag 0.9
● vytvoří tag "0.9"
git checkout 0.9
● checkoutuje revizi, na níž tag "0.9" odkazuje
git diff 0.8 0.9
● zobrazí rozdíl mezi verzemi "0.8" a "0.9"
git tag -d 0.9
● smaže tag "0.9"
Historie
git log
Historie - graf
git log --oneline --graph --decorate
Historie
git log --oneline --author=phrdina
Historie
git log --oneline --author=phrdina
Historie
git log --oneline --author=phrdina --no-
merges
Rozdíly
git diff
Rozdíly
git diff --name-only
Rozdíly
git diff HEAD
● diff working directory a posledniho commitu
git diff HEAD^
● diff working directory a předposledního commitu
git diff HEAD^^
● diff working directory a před-předposledního commitu
git diff HEAD^^ HEAD~3
● diff posledního 2hého a 3tího commitu
Rozdíly
git diff 1.6 1.7
● diff mezi 2ma tagy
git diff master fix-5686
● diff mezi 2ma větvema
git diff 7gt78 kjb12
● diff mezi 2ma revizema
Bonus - vrácení změn ala svn revert
git reset --hard
● vrátí všechny soubory do původního stavu vůči poslednímu
commitu
Otázky

More Related Content

Similar to GIT

Verzovani kodu s Gitem (Karel Minarik)
Verzovani kodu s Gitem (Karel Minarik)Verzovani kodu s Gitem (Karel Minarik)
Verzovani kodu s Gitem (Karel Minarik)Karel Minarik
 
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve WikidiLex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve WikidiDevelcz
 
Hacknutý Drupal web. A co teď?
Hacknutý Drupal web. A co teď?Hacknutý Drupal web. A co teď?
Hacknutý Drupal web. A co teď?Radim Klaška
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integrationdanielkolman
 
Tipy a triky, best practices, deployment, testování
Tipy a triky, best practices, deployment, testováníTipy a triky, best practices, deployment, testování
Tipy a triky, best practices, deployment, testováníRadim Klaška
 
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....PeckaDesign.cz
 
Agile developer
Agile developerAgile developer
Agile developerOnlio
 
Magento 2
Magento 2Magento 2
Magento 2Keyup
 
Čtvrtkon #98 - Sentry micro talk
Čtvrtkon #98 - Sentry micro talkČtvrtkon #98 - Sentry micro talk
Čtvrtkon #98 - Sentry micro talkMartin Hlaváč
 
Proč používat GitHub?
Proč používat GitHub?Proč používat GitHub?
Proč používat GitHub?Dominik Salvet
 

Similar to GIT (11)

Git CZ
Git CZGit CZ
Git CZ
 
Verzovani kodu s Gitem (Karel Minarik)
Verzovani kodu s Gitem (Karel Minarik)Verzovani kodu s Gitem (Karel Minarik)
Verzovani kodu s Gitem (Karel Minarik)
 
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve WikidiLex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
 
Hacknutý Drupal web. A co teď?
Hacknutý Drupal web. A co teď?Hacknutý Drupal web. A co teď?
Hacknutý Drupal web. A co teď?
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Tipy a triky, best practices, deployment, testování
Tipy a triky, best practices, deployment, testováníTipy a triky, best practices, deployment, testování
Tipy a triky, best practices, deployment, testování
 
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
 
Agile developer
Agile developerAgile developer
Agile developer
 
Magento 2
Magento 2Magento 2
Magento 2
 
Čtvrtkon #98 - Sentry micro talk
Čtvrtkon #98 - Sentry micro talkČtvrtkon #98 - Sentry micro talk
Čtvrtkon #98 - Sentry micro talk
 
Proč používat GitHub?
Proč používat GitHub?Proč používat GitHub?
Proč používat GitHub?
 

GIT