GIT

235 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
235
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

GIT

  1. 1. GIT for dummies :)
  2. 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. 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. 4. GIT ● KLON, KLON, KLON.... ● Co klon repozitáře, to samostatně fungující repozitář se všim všudy
  5. 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
  6. 6. Dost keců :) ...bůh žehnej konzoli
  7. 7. Barvičky git config --global color.diff auto git config --global color.ui true
  8. 8. Barvičky
  9. 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. 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"
  11. 11. První narvání věcí do našeho repozátaře
  12. 12. Další změny, další commity vim ... datly, datly, datly, ... git status git add ... git commit -m "..." (git commit -am "...")
  13. 13. Ignorace soubor .gitignore *.swp /*.test !/important.test
  14. 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
  15. 15. Stáhnout práci jiných / aktualizovat lokální repozitář
  16. 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
  17. 17. Přehled
  18. 18. Větve (ne ty na stromě) git branch
  19. 19. Větve git branch -r ● větve v nalinkovaných repozitářích (vzdálené větve)
  20. 20. 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
  21. 21. 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
  22. 22. Větve git push origin :suggestion ● smaže vzdálenou branch
  23. 23. Tagy git tag
  24. 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"
  25. 25. Historie git log
  26. 26. Historie - graf git log --oneline --graph --decorate
  27. 27. Historie git log --oneline --author=phrdina
  28. 28. Historie git log --oneline --author=phrdina
  29. 29. Historie git log --oneline --author=phrdina --no- merges
  30. 30. Rozdíly git diff
  31. 31. Rozdíly git diff --name-only
  32. 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. 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. 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
  35. 35. Otázky

×