+ All Categories
Home > Technology > Einführung in Git

Einführung in Git

Date post: 15-Jun-2015
Category:
Upload: andreaswo
View: 1,588 times
Download: 1 times
Share this document with a friend
Description:
Einführung in Git, TYPO3-Camp Stuttgart 2013
37
Einführung Git-Grundlagen Demo Kommando-bersicht Einführung in Git TYPO3-Camp Stuttgart 2013 Andreas Wolf SYN Systems GmbH 8. Juni 2013 Einführung in Git Andreas Wolf, SYN Systems GmbH Inspiring people to share
Transcript
Page 1: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Einführung in GitTYPO3-Camp Stuttgart 2013

Andreas Wolf

SYN Systems GmbH

8. Juni 2013

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 2: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Inhalt I

Einführung

Git-Grundlagen

Demo

Kommando-Übersicht

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 3: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

$ whois referent

Andreas Wolf

[email protected]

Jabber: [email protected]

Twitter: @andreaswo

aus Karlsruhe, Baden(-Württemberg)

TYPO3-User seit 2003

Mitglied im TYPO3-Core-Team seit März 2011

Git-User seit Anfang 2010

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 4: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Was ist Git?

Verteiltes Versionskontrollsystem (DVCS)ähnlich Mercurial, Bazaar, ...

entwickelt von Linus Torvalds für den Linux-Kernel

konzeptionell anders als SVN und andere zentrale Systeme ...

... aber keine Raketenwissenschaft :-)

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 5: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Unterschiede Git—SVN

kein zentraler Server mehr... jedenfalls nicht zwingend

Branches und Tags als eigene Konzepte

effizientere Datenablage

jede Kopie des Repositories (Klon) enthält die gesamte Historie

nichtlineare Geschichte des Repositoryfür Nerds: gerichteter azyklischer Graph

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 6: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Grundlagen

Git unterscheidet drei Bereiche:

gearbeitet wird in der sog. Working Copy

danach wandern die Daten in den Staging-Bereich

nach einem Commit sind sie im Repository

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 7: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Grundlagen

trunk ist kein „spezieller“ Branch mehr → master in Git

jede Revision hat eine global eindeutige ID (SHA-1-Hash)

spezielle Marker: HEAD (aktuell ausgecheckte Revision)

vorherige Revisionen adressieren mit ^ (auch mehrfach) und ~n

Beispiele:

HEAD^ = HEAD~1: vorletzter Commit

HEAD~3 = HEAD^^^: viertletzer Commit

alternativ: <branch>@Datum

Beispiel: master@yesterday

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 8: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Drei Bereiche

Arbeitsbereich (working area)

Staging-Bereich

Repository

entfernte Repositories

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 9: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Eine einfache Geschichte

6f41653

bcdc32e

c82188f7e5c009

672365d

“initial commit”

1234

masterHEAD

feature

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 10: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Lebenszyklus einer Änderung

Arbeitsbereich (working area)

Staging-Bereich

Repository

entfernte Repositories

git add

git commit

git push

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 11: Einführung in Git

Demo!

Page 12: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: eine (kleine) Übersicht

„Brot und Butter“: Grundlagen

Inspektion

Arbeiten mit Remotes

Änderungen zusammenführen

Verwaltung

. . . und noch viel mehr

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 13: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: Brot und Butter I

add zum Index hinzufügen

Vorbereitung auf einen Commit

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 14: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: Brot und Butter II

commit zum Repository hinzufügen

was vergessen? Inhalte „anhängen“ mit –amend

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 15: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: Brot und Butter III

checkout Zweig auschecken

-b <Zweigname>: neuen Zweig mit diesem Namen anlegen (alternativ:branch <NeuerName>)

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 16: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: Brot und Butter IV

branch Zweige anlegen und verwalten

-m <neuerName> umbenennen

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 17: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: Brot und Butter V

config Konfiguration bearbeiten

arbeitet standardmäßig nur im lokalen Repository (auf .git/config)--̇global setzt Optionen in ~/.gitconfig

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 18: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: Inspektion I„Der TÜV“

diff Änderungen anzeigen

Standard: Arbeitskopie vs. letzter Commit

diff <Ref> Änderungen Arbeitskopie vs. Ref anzeigen

diff <Ref1>..<Ref2> Änderungen zwischen Ref1 und Ref2anzeigen

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 19: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: Inspektion II„Der TÜV“

status Zustand der Arbeitskopie

neue, geänderte, gelöschte Dateien

Zustand Index, Arbeitsbereich

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 20: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: Inspektion III„Der TÜV“

log Historie eines Zweigs

Interessante Parameter:

--̇pretty

--̇decorate

--̇graph

--̇format=[oneline,medium,fuller,...]

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 21: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: Arbeiten mit Remotes I„Beam me up, Scotty“

clone Kopie eines entfernten Repository anlegen

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 22: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: Arbeiten mit Remotes II„Beam me up, Scotty“

push zu entferntem Repository schieben

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 23: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: Arbeiten mit Remotes III„Beam me up, Scotty“

pull/fetch mit anderem Repository abgleichen

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 24: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: Arbeiten mit Remotes IV„Beam me up, Scotty“

remote entfernte Repositories verwalten

Unterkommandos:

show

add

rename

...

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 25: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Änderungen zusammenführen I

merge Zweig mit aktuellem Zweig zusammenführen

Beispiele:

git merge origin/master

git merge kollege/coolesNeuesFeature

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 26: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Änderungen zusammenführen II

rebase lokale Änderungen auf neuen Stand aufsetzen

git rebase origin/master

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 27: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: verwalten I

branch Zweige verwalten

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 28: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: verwalten II

tag Tags anlegen und verwalten

tag <name> Tag von aktuellem HEAD anlegen

Wichtig: Pushen mit push --̇tags!

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 29: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: wenn’s schiefging I

reset Arbeitskopie zurücksetzen

Standard: nur Index-Status zurücksetzen

mit - -hard komplette Arbeitskopie

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 30: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: wenn’s schiefging II

reflog verlorengegangenes zurückholen

z.B. nach Merges, Rebase, Checkout

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 31: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Kommandos: wenn’s schiefging III

revert Commit rückgängig machen

Legt neuen Commit mit den inversen Änderungen an

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 32: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

mehr nützliche Kommandos und Tools

git mergetool: geht Konflikte durch, ruft ein Mergetool auf

tig: Text-mode interface for Git

gitweb: Web-Übersicht über Repos (wie auf git.typo3.org)

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 33: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

mehr nützliche Kommandos und Toolsgrafische Werkzeuge

git gui: Standard-Werkzeug

gitk/gitg für Linux

TortoiseGit für Windows

Tower für MacOS

meld/kdiff3: grafische Merge-Werkzeuge

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 34: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Mehr Informationen

http://wiki.typo3.org/Git_Gerrit

http://www.git-scm.com

http://gitref.org

CheatsheetsÜbersicht: http://help.github.com/git-cheat-sheets/http://cheat.errtheblog.com/s/git

kostenloses Hosting:http://github.comhttp://bitbucket.orgInhouse: http://gitlab.org

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 35: Einführung in Git

Fragen?

Antworten!hoffentlich ;-)

Vielen Dank für die Aufmerksamkeit!

Page 36: Einführung in Git

Einführung Git-Grundlagen Demo Kommando-Übersicht

Lust auf Git bekommen?

Git-Schulungen inhouse bei euch und(coming soon) bei uns in Karlsruhe.

Mehr Infos, Anfragen an [email protected]

Einführung in Git Andreas Wolf, SYN Systems GmbHInspiring people to

share

Page 37: Einführung in Git

Inspiring people to share.


Recommended