SlideShare ist ein Scribd-Unternehmen logo
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
Einführung Git-Grundlagen Demo Kommando-Übersicht
Inhalt I
Einführung
Git-Grundlagen
Demo
Kommando-Übersicht
Einführung in Git Andreas Wolf, SYN Systems GmbH
Inspiring people to
share
Einführung Git-Grundlagen Demo Kommando-Übersicht
$ whois referent
Andreas Wolf
aw@syn-systems.com
Jabber: awolf@jabber.ccc.de
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
Einführung Git-Grundlagen Demo Kommando-Übersicht
Unterschiede Git SVN
kein zentraler Server mehr... jedenfalls nicht zwingend
Branches und Tags als eigene Konzepte
ef zientere Datenablage
jede Kopie des Repositories (Klon) enthält die gesamte Historie
nichtlineare Geschichte des Repository
für Nerds: gerichteter azyklischer Graph
Einführung in Git Andreas Wolf, SYN Systems GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
Einführung Git-Grundlagen Demo Kommando-Übersicht
Eine einfache Geschichte
6f41653
bcdc32e
c82188f
7e5c009
672365d
initial commit
1234
master
HEAD
feature
Einführung in Git Andreas Wolf, SYN Systems GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
Demo!
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
Einführung Git-Grundlagen Demo Kommando-Übersicht
Kommandos: Brot und Butter V
con g Kon guration bearbeiten
arbeitet standardmäÿig nur im lokalen Repository (auf .git/config)
--global setzt Optionen in ~/.gitconfig
Einführung in Git Andreas Wolf, SYN Systems GmbH
Inspiring people to
share
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 Ref2
anzeigen
Einführung in Git Andreas Wolf, SYN Systems GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
Einführung Git-Grundlagen Demo Kommando-Übersicht
Kommandos: verwalten I
branch Zweige verwalten
Einführung in Git Andreas Wolf, SYN Systems GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
Einführung Git-Grundlagen Demo Kommando-Übersicht
Kommandos: wenn's schiefging II
re og verlorengegangenes zurückholen
z.B. nach Merges, Rebase, Checkout
Einführung in Git Andreas Wolf, SYN Systems GmbH
Inspiring people to
share
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 GmbH
Inspiring people to
share
Einführung Git-Grundlagen Demo Kommando-Übersicht
mehr nützliche Kommandos und Tools
git mergetool: geht Kon ikte 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 GmbH
Inspiring people to
share
Einführung Git-Grundlagen Demo Kommando-Übersicht
mehr nützliche Kommandos und Tools
gra sche Werkzeuge
git gui: Standard-Werkzeug
gitk/gitg für Linux
TortoiseGit für Windows
Tower für MacOS
meld/kdiff3: gra sche Merge-Werkzeuge
Einführung in Git Andreas Wolf, SYN Systems GmbH
Inspiring people to
share
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.com
http://bitbucket.org
Inhouse: http://gitlab.org
Einführung in Git Andreas Wolf, SYN Systems GmbH
Inspiring people to
share
Fragen?
Antworten!
hoffentlich ;-)
Vielen Dank für die Aufmerksamkeit!
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 mail@support.syn-systems.com
Einführung in Git Andreas Wolf, SYN Systems GmbH
Inspiring people to
share
Inspiring people to share.

Weitere ähnliche Inhalte

Was ist angesagt?

Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)
Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)
Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)
Michael Whittaker
 
Docker for Python Development
Docker for Python DevelopmentDocker for Python Development
Docker for Python Development
Martin Christen
 
Git
GitGit
Git vs SVN DevCon 2011
Git vs SVN DevCon 2011Git vs SVN DevCon 2011
Git vs SVN DevCon 2011
Mario Müller
 
Version management mit Git und Github
Version management mit Git und Github Version management mit Git und Github
Version management mit Git und Github
fg.informatik Universität Basel
 
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GISGeoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Peter Löwe
 

Was ist angesagt? (6)

Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)
Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)
Welches Versionskontrollsystem sollte ich nutzen? (SVN, Git, Hg)
 
Docker for Python Development
Docker for Python DevelopmentDocker for Python Development
Docker for Python Development
 
Git
GitGit
Git
 
Git vs SVN DevCon 2011
Git vs SVN DevCon 2011Git vs SVN DevCon 2011
Git vs SVN DevCon 2011
 
Version management mit Git und Github
Version management mit Git und Github Version management mit Git und Github
Version management mit Git und Github
 
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GISGeoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
Geoinformatik-Kolloquium Juni 2012: High Performance Computing Cluster GIS
 

Andere mochten auch

Abstract Improvisationstheater oder Kammerspiel
Abstract Improvisationstheater oder KammerspielAbstract Improvisationstheater oder Kammerspiel
Abstract Improvisationstheater oder KammerspielAndrea Lißner
 
Katja Simons: Die besten Köpfe gewinnen
Katja Simons: Die besten Köpfe gewinnenKatja Simons: Die besten Köpfe gewinnen
Katja Simons: Die besten Köpfe gewinnen
Stefanie Kollenberg, Raabe Verlag
 
Aufbau und Moderation von Lerncommunities am Beispiel des SAP Learning Hub
Aufbau und Moderation von Lerncommunities am Beispiel des SAP Learning HubAufbau und Moderation von Lerncommunities am Beispiel des SAP Learning Hub
Aufbau und Moderation von Lerncommunities am Beispiel des SAP Learning HubThomas Jenewein
 
Andreas Archut: Krisen - Und wie man sie durchsteht
Andreas Archut: Krisen - Und wie man sie durchstehtAndreas Archut: Krisen - Und wie man sie durchsteht
Andreas Archut: Krisen - Und wie man sie durchsteht
Stefanie Kollenberg, Raabe Verlag
 
Karriere im Familienunternehmen der KOSTAL-Gruppe
Karriere im Familienunternehmen der KOSTAL-GruppeKarriere im Familienunternehmen der KOSTAL-Gruppe
Karriere im Familienunternehmen der KOSTAL-Gruppe
KOSTAL1912
 
Firefox Standardbro
Firefox StandardbroFirefox Standardbro
Firefox StandardbroVerbrejcha
 
Shs revenue management aber richtig 2012-05-30
Shs   revenue management aber richtig 2012-05-30Shs   revenue management aber richtig 2012-05-30
Shs revenue management aber richtig 2012-05-30Wilko Weber
 
Standard
StandardStandard
Standard
Georg Montsch
 
Social Media Strategie Workshop
Social Media Strategie WorkshopSocial Media Strategie Workshop
Social Media Strategie WorkshopRoger Koplenig
 
Residuos domiciliarios
Residuos domiciliariosResiduos domiciliarios
Residuos domiciliarios
CamilaAndreaPasteneOrellana
 
Календарь Майя
Календарь МайяКалендарь Майя
Календарь МайяAnMut
 
Erfurt nov11 einführung
Erfurt nov11 einführungErfurt nov11 einführung
Erfurt nov11 einführung
daeumling
 

Andere mochten auch (13)

Abstract Improvisationstheater oder Kammerspiel
Abstract Improvisationstheater oder KammerspielAbstract Improvisationstheater oder Kammerspiel
Abstract Improvisationstheater oder Kammerspiel
 
Katja Simons: Die besten Köpfe gewinnen
Katja Simons: Die besten Köpfe gewinnenKatja Simons: Die besten Köpfe gewinnen
Katja Simons: Die besten Köpfe gewinnen
 
Aufbau und Moderation von Lerncommunities am Beispiel des SAP Learning Hub
Aufbau und Moderation von Lerncommunities am Beispiel des SAP Learning HubAufbau und Moderation von Lerncommunities am Beispiel des SAP Learning Hub
Aufbau und Moderation von Lerncommunities am Beispiel des SAP Learning Hub
 
Andreas Archut: Krisen - Und wie man sie durchsteht
Andreas Archut: Krisen - Und wie man sie durchstehtAndreas Archut: Krisen - Und wie man sie durchsteht
Andreas Archut: Krisen - Und wie man sie durchsteht
 
Karriere im Familienunternehmen der KOSTAL-Gruppe
Karriere im Familienunternehmen der KOSTAL-GruppeKarriere im Familienunternehmen der KOSTAL-Gruppe
Karriere im Familienunternehmen der KOSTAL-Gruppe
 
Firefox Standardbro
Firefox StandardbroFirefox Standardbro
Firefox Standardbro
 
Shs revenue management aber richtig 2012-05-30
Shs   revenue management aber richtig 2012-05-30Shs   revenue management aber richtig 2012-05-30
Shs revenue management aber richtig 2012-05-30
 
Standard
StandardStandard
Standard
 
Social Media Strategie Workshop
Social Media Strategie WorkshopSocial Media Strategie Workshop
Social Media Strategie Workshop
 
Residuos domiciliarios
Residuos domiciliariosResiduos domiciliarios
Residuos domiciliarios
 
Dankeschoen
DankeschoenDankeschoen
Dankeschoen
 
Календарь Майя
Календарь МайяКалендарь Майя
Календарь Майя
 
Erfurt nov11 einführung
Erfurt nov11 einführungErfurt nov11 einführung
Erfurt nov11 einführung
 

Ähnlich wie Einführung in Git

Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudGünzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Andreas Günzel
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
B1 Systems GmbH
 
GitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.comGitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.com
B1 Systems GmbH
 
Vortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development EnvironmentsVortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development Environments
Thorsten Kamann
 
System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet
B1 Systems GmbH
 
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunityGit & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunitySteffen Gebert
 
OSMC 2008 | Nagios für Einsteiger by Sven Velt
OSMC 2008 | Nagios für Einsteiger by Sven VeltOSMC 2008 | Nagios für Einsteiger by Sven Velt
OSMC 2008 | Nagios für Einsteiger by Sven Velt
NETWAYS
 
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbHTYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
die.agilen GmbH
 
Microsoft Operations Management Suite Webinar - innobit ag
Microsoft Operations Management Suite Webinar - innobit agMicrosoft Operations Management Suite Webinar - innobit ag
Microsoft Operations Management Suite Webinar - innobit ag
Inke Kauer
 
OSMC 2009 | Nagios für Einsteiger by Sven Velt
OSMC 2009 | Nagios für Einsteiger by Sven VeltOSMC 2009 | Nagios für Einsteiger by Sven Velt
OSMC 2009 | Nagios für Einsteiger by Sven Velt
NETWAYS
 
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
DevDay Dresden
 
Die nächsten 100 Microservices
Die nächsten 100 MicroservicesDie nächsten 100 Microservices
Die nächsten 100 Microservices
QAware GmbH
 
Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanCollabNet
 
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunityGit & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Steffen Gebert
 
TYPO3 CMS 7.1 - Die Neuerungen - pluswerk
TYPO3 CMS 7.1 - Die Neuerungen - pluswerkTYPO3 CMS 7.1 - Die Neuerungen - pluswerk
TYPO3 CMS 7.1 - Die Neuerungen - pluswerk
die.agilen GmbH
 
Eclipse, Git und Gerrit
Eclipse, Git und GerritEclipse, Git und Gerrit
Eclipse, Git und Gerrit
Stefan Lay
 
Build your own IoT Cloud! [GER]
Build your own IoT Cloud! [GER]Build your own IoT Cloud! [GER]
Build your own IoT Cloud! [GER]
Christian Götz
 
TYPO3 GitLab CI
TYPO3 GitLab CITYPO3 GitLab CI
TYPO3 GitLab CI
Sebastian Michaelsen
 
iNotes 9 - Feature im Vergleich
iNotes 9 - Feature im VergleichiNotes 9 - Feature im Vergleich
iNotes 9 - Feature im Vergleich
Ralph Belfiore
 
TYPO3 CMS 7.6 - Die Neuerungen - pluswerk
TYPO3 CMS 7.6 - Die Neuerungen - pluswerkTYPO3 CMS 7.6 - Die Neuerungen - pluswerk
TYPO3 CMS 7.6 - Die Neuerungen - pluswerk
die.agilen GmbH
 

Ähnlich wie Einführung in Git (20)

Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudGünzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 
GitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.comGitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.com
 
Vortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development EnvironmentsVortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development Environments
 
System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet
 
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunityGit & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
 
OSMC 2008 | Nagios für Einsteiger by Sven Velt
OSMC 2008 | Nagios für Einsteiger by Sven VeltOSMC 2008 | Nagios für Einsteiger by Sven Velt
OSMC 2008 | Nagios für Einsteiger by Sven Velt
 
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbHTYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
 
Microsoft Operations Management Suite Webinar - innobit ag
Microsoft Operations Management Suite Webinar - innobit agMicrosoft Operations Management Suite Webinar - innobit ag
Microsoft Operations Management Suite Webinar - innobit ag
 
OSMC 2009 | Nagios für Einsteiger by Sven Velt
OSMC 2009 | Nagios für Einsteiger by Sven VeltOSMC 2009 | Nagios für Einsteiger by Sven Velt
OSMC 2009 | Nagios für Einsteiger by Sven Velt
 
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
 
Die nächsten 100 Microservices
Die nächsten 100 MicroservicesDie nächsten 100 Microservices
Die nächsten 100 Microservices
 
Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - German
 
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunityGit & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
 
TYPO3 CMS 7.1 - Die Neuerungen - pluswerk
TYPO3 CMS 7.1 - Die Neuerungen - pluswerkTYPO3 CMS 7.1 - Die Neuerungen - pluswerk
TYPO3 CMS 7.1 - Die Neuerungen - pluswerk
 
Eclipse, Git und Gerrit
Eclipse, Git und GerritEclipse, Git und Gerrit
Eclipse, Git und Gerrit
 
Build your own IoT Cloud! [GER]
Build your own IoT Cloud! [GER]Build your own IoT Cloud! [GER]
Build your own IoT Cloud! [GER]
 
TYPO3 GitLab CI
TYPO3 GitLab CITYPO3 GitLab CI
TYPO3 GitLab CI
 
iNotes 9 - Feature im Vergleich
iNotes 9 - Feature im VergleichiNotes 9 - Feature im Vergleich
iNotes 9 - Feature im Vergleich
 
TYPO3 CMS 7.6 - Die Neuerungen - pluswerk
TYPO3 CMS 7.6 - Die Neuerungen - pluswerkTYPO3 CMS 7.6 - Die Neuerungen - pluswerk
TYPO3 CMS 7.6 - Die Neuerungen - pluswerk
 

Einführung in Git

  • 1. 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
  • 2. Einführung Git-Grundlagen Demo Kommando-Übersicht Inhalt I Einführung Git-Grundlagen Demo Kommando-Übersicht Einführung in Git Andreas Wolf, SYN Systems GmbH Inspiring people to share
  • 3. Einführung Git-Grundlagen Demo Kommando-Übersicht $ whois referent Andreas Wolf aw@syn-systems.com Jabber: awolf@jabber.ccc.de 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 GmbH Inspiring people to share
  • 4. 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 GmbH Inspiring people to share
  • 5. Einführung Git-Grundlagen Demo Kommando-Übersicht Unterschiede Git SVN kein zentraler Server mehr... jedenfalls nicht zwingend Branches und Tags als eigene Konzepte ef zientere Datenablage jede Kopie des Repositories (Klon) enthält die gesamte Historie nichtlineare Geschichte des Repository für Nerds: gerichteter azyklischer Graph Einführung in Git Andreas Wolf, SYN Systems GmbH Inspiring people to share
  • 6. 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 GmbH Inspiring people to share
  • 7. 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 GmbH Inspiring people to share
  • 8. 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 GmbH Inspiring people to share
  • 9. Einführung Git-Grundlagen Demo Kommando-Übersicht Eine einfache Geschichte 6f41653 bcdc32e c82188f 7e5c009 672365d initial commit 1234 master HEAD feature Einführung in Git Andreas Wolf, SYN Systems GmbH Inspiring people to share
  • 10. 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 GmbH Inspiring people to share
  • 11. Demo!
  • 12. 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 GmbH Inspiring people to share
  • 13. 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 GmbH Inspiring people to share
  • 14. 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 GmbH Inspiring people to share
  • 15. 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 GmbH Inspiring people to share
  • 16. 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 GmbH Inspiring people to share
  • 17. Einführung Git-Grundlagen Demo Kommando-Übersicht Kommandos: Brot und Butter V con g Kon guration bearbeiten arbeitet standardmäÿig nur im lokalen Repository (auf .git/config) --global setzt Optionen in ~/.gitconfig Einführung in Git Andreas Wolf, SYN Systems GmbH Inspiring people to share
  • 18. 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 Ref2 anzeigen Einführung in Git Andreas Wolf, SYN Systems GmbH Inspiring people to share
  • 19. 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 GmbH Inspiring people to share
  • 20. 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 GmbH Inspiring people to share
  • 21. 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 GmbH Inspiring people to share
  • 22. 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 GmbH Inspiring people to share
  • 23. 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 GmbH Inspiring people to share
  • 24. 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 GmbH Inspiring people to share
  • 25. 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 GmbH Inspiring people to share
  • 26. 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 GmbH Inspiring people to share
  • 27. Einführung Git-Grundlagen Demo Kommando-Übersicht Kommandos: verwalten I branch Zweige verwalten Einführung in Git Andreas Wolf, SYN Systems GmbH Inspiring people to share
  • 28. 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 GmbH Inspiring people to share
  • 29. 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 GmbH Inspiring people to share
  • 30. Einführung Git-Grundlagen Demo Kommando-Übersicht Kommandos: wenn's schiefging II re og verlorengegangenes zurückholen z.B. nach Merges, Rebase, Checkout Einführung in Git Andreas Wolf, SYN Systems GmbH Inspiring people to share
  • 31. 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 GmbH Inspiring people to share
  • 32. Einführung Git-Grundlagen Demo Kommando-Übersicht mehr nützliche Kommandos und Tools git mergetool: geht Kon ikte 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 GmbH Inspiring people to share
  • 33. Einführung Git-Grundlagen Demo Kommando-Übersicht mehr nützliche Kommandos und Tools gra sche Werkzeuge git gui: Standard-Werkzeug gitk/gitg für Linux TortoiseGit für Windows Tower für MacOS meld/kdiff3: gra sche Merge-Werkzeuge Einführung in Git Andreas Wolf, SYN Systems GmbH Inspiring people to share
  • 34. 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.com http://bitbucket.org Inhouse: http://gitlab.org Einführung in Git Andreas Wolf, SYN Systems GmbH Inspiring people to share
  • 36. 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 mail@support.syn-systems.com Einführung in Git Andreas Wolf, SYN Systems GmbH Inspiring people to share