2. Obsah
● SVN vs GIT
● konfigurace
● založení repozitáře
● odevzání práce
● ignorace
● aktualizování repozitáře
● větve
● tagy
● historie
● rozdíly
3. 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ů :)
4. GIT
● KLON, KLON, KLON....
● Co klon repozitáře, to samostatně fungující repozitář se všim všudy
5. 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
9. 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"
10. 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"
14. 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
16. 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
24. 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"
32. 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
33. 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
34. 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