$30 off During Our Annual Pro Sale. View Details »

EKON 18: Git

EKON 18: Git

My slides for the EKON 18 (2014) talk about Git.

Sebastian Gingter

November 04, 2014
Tweet

More Decks by Sebastian Gingter

Other Decks in Programming

Transcript

  1. Sebastian P.R. Gingter | Smarthouse Media GmbH
    Verteiltes Leid is halbes Leid:
    Git in der Praxis

    View Slide

  2. Vorab:
    •  Sourcen & Demos @github
    https://github.com/gingters/...
    •  Slides @speakerdeck
    https://speakerdeck.com/phoenixhawk
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  3. Git in der Praxis
    Verteiltes Leid ist halbes Leid

    View Slide

  4. Agenda
    •  Was ist Git?
    •  Subversion vs. Git
    Die wichtigsten Unterschiede
    •  Git - Verwendung
    •  Git Workflows
    •  Git Tooling
    •  Git Hosting
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  5. Was ist Git?
    •  Distributed
    •  Versioning
    •  Control
    •  System
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  6. Was ist Git?
    D
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  7. D
    Sebastian P.R. Gingter | @phoenixhawk
    D wie in...
    Was ist Git?

    View Slide

  8. D wie in...
    •  Distributed
    •  Decentralized
    •  Disconnected
    •  Dynamic
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  9. Subversion vs. Git
    •  Subversion
    Sebastian P.R. Gingter | @phoenixhawk
    zentrales Repository
    0..n
    Arbeitskopieen

    View Slide

  10. Subversion vs. Git
    •  Subversion
    Sebastian P.R. Gingter | @phoenixhawk
    zentrales Repository Alles übers (langsame) Netz:
    •  Update
    •  Commit
    •  Blame
    •  Branch
    •  Switch
    •  Merge

    View Slide

  11. Subversion vs. Git
    •  Subversion
    Sebastian P.R. Gingter | @phoenixhawk
    zentrales Repository
    •  Single Point of Failure
    •  ohne Netz keine Arbeit
    •  häufiges Backup notwendig

    View Slide

  12. Subversion vs. Git
    •  Git
    Sebastian P.R. Gingter | @phoenixhawk
    Repository
    0..n
    Clones inkl. Arbeitskopien

    View Slide

  13. Subversion vs. Git
    •  Subversion: Revision
    •  Git: Kryptographisch gesicherte hashes
    – Beinhaltet
    •  commiter
    •  message
    •  Hash des vorherigen commit (full tree)
    •  Inhalt des aktuellen commits
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  14. Git - Verwendung
    •  Git init
    •  Git clone
    •  Git config
    •  Git add
    •  Git commit
    •  Git status
    •  Git branch
    •  Git checkout
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  15. Git merge
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  16. Git merge
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  17. merge vs. rebase
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  18. 3-way merge
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  19. rebase – ACHTUNG!
    •  NIEMALS
    – bereits gepushte commits rebasen
    – Vor allem nicht, wenn diese bereits gepullt
    wurden
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  20. Git branching
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  21. Git branching
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  22. Git tooling
    •  http://git-scm.com/downloads
    •  http://www.sourcetreeapp.com/
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  23. Git Hosting
    •  In der Cloud
    – http://github.com
    – http://bitbucket.org
    – http://www.fogcreek.com/kiln/
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  24. Git Hosting
    •  Selber hosten
    – https://www.atlassian.com/it/software/stash
    – https://gitorious.org/
    – http://gitlab.org/
    – http://www.scm-manager.org/
    – Und einige mehr
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  25. Git & SVN
    •  git-svn
    – Brücke zwischen lokalem Git und
    Subversion auf dem Server
    •  http://viget.com/extend/effectively-using-
    git-with-subversion
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide

  26. Quellen
    •  http://nvie.com/posts/a-successful-git-branching-model/
    •  http://blogs.remobjects.com/blogs/mh/2011/08/25/p2940
    •  https://www.atlassian.com/git/tutorial
    •  https://www.atlassian.com/git/migration
    •  http://bassistance.de/2013/10/18/how-to-be-a-more-effective-git-
    historian-with-recursive-blame/
    Sebastian P.R. Gingter | @phoenixhawk

    View Slide