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

EKON 17: Git

EKON 17: Git

My slides for the EKON 17 / 2013 talk about Git.

Sebastian Gingter

November 05, 2013
Tweet

More Decks by Sebastian Gingter

Other Decks in Programming

Transcript

  1. Sebastian P.R. Gingter | Smarthouse Media GmbH
    Von Subversion zu Git

    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. Von Subversion zu Git
    Dezentrale Versionierung leicht gemacht:

    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