SlideShare ist ein Scribd-Unternehmen logo
Do it the .git way
.Inhalt
‣

Was ist git?

‣

Wie geht git?

‣

Warum brauchen wir git?

‣

gitgitgitgitgitgit?
›
Was ist git?
•

Versionskontrolle

•

Dezentral

•

Baummodell als Grundlage
‣
‣

branch

‣
•

tree

leaf

remote und origin
Wie geht git?
•

init

•

add

•

commit

•

push

•

pull

•

stash

•

branch

•

merge

•

reset (hard/soft)
Wie geht git init?
•

Initialisieren des git-repositorys

•

.git-Ordner wird erstellt

•

.git/config wird angelegt

•

.gitignore sollte dazu manuell angelegt werden

•

HEAD
DEMO
Wie geht git add?
•

Normal wird keine Datei getracked

•

“git add” fügt Dateien und Ordner zum Repository hinzu

•

Hinzugefügte Dateien werden getracked

•

git add macht Änderungen “commitbar”
•

vom “untracked” über den “unstaged” zum “stage”-Zustand
DEMO
Wie geht git commit?
•

Erfassen des aktuellen “stage”-Zustand als Version

•

commit-hash für jeden “commit”

•

git commit -am ‘<insert_msg_here>’

•

HEAD = letzter commit hash
DEMO
Wie geht git push?
•

Ohne remote kein push

•

Ein entferntes Repository wird als “remote” location angegeben

•

git remote add origin https://url-zum-repository

•

Aktueller HEAD wird zum remote-repository synchronisiert
DEMO
Wie geht git pull?

•

Ohne remote kein pull

•

Aktueller HEAD wird vom remote-repository synchronisiert
DEMO
Wie geht git stash?
•

Der Stash ist eine Art Zwischenspeicher

•

git stash “speichert” den aktuellen Stand separat

•

Es können dann Änderungen im aktuellen Repository gemacht
werden

•

Danach muss man den stash anwenden, wenn man ihn behalten will
DEMO
Wie geht git branch?
•

branches sind “Zweige” in einem repository

•

normal: 1 branch = 1 feature

•

wenn das Feature fertig ist, wird dessen branch in den jeweiligen
“master” branch gemerged.
DEMO
Wie geht git merge?
•

Fügt zwei branches zusammen

•

git merge ist intelligent
‣

braucht aber manchmal unsere Hilfe (merge conflichts)

‣

Änderungen zweier Branches an denselben Stellen werden
entsprechend markiert
DEMO
Wie geht git reset?
•

Setzt HEAD zurück

•

commit hashes sind etwas Gutes!

•

git reset —soft

•

git reset —hard
DEMO
Fragen?
Warum brauchen wir git?
•

Ganze Magento-Installationen per git verwalten

•

https://github.com/github/gitignore

•

Jede Änderung ist protokolliert

•

Wer hat wann was wo getan?

•

Resets/“OW SH*T”´s können schnell behoben werden
Warum kann git bei uns Probleme machen?

•

Kunden mit FTP-Zugang können Ihre Änderungen nicht comitten

•

Lösungsvorschläge bitte an passmann@hucke-media.de ;)
Danke

Weitere ähnliche Inhalte

Andere mochten auch

Versionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und GitVersionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und Git
paultcochrane
 
Gitlab
GitlabGitlab
Gitlab
heiglandreas
 
Überblick über aktuelle Versionsmanagementsysteme
Überblick über aktuelle VersionsmanagementsystemeÜberblick über aktuelle Versionsmanagementsysteme
Überblick über aktuelle Versionsmanagementsysteme
Andreas Schreiber
 
'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!
Benjamin Schmid
 
Einsatz von Git im Unternehmen
Einsatz von Git im UnternehmenEinsatz von Git im Unternehmen
Einsatz von Git im Unternehmen
oose
 
git - eine praktische Einführung
git - eine praktische Einführunggit - eine praktische Einführung
git - eine praktische Einführung
Marcel Eichner
 
The development workflow of git github for beginners
The development workflow of git github for beginnersThe development workflow of git github for beginners
The development workflow of git github for beginners
Gunjan Patel
 
GIT / SVN
GIT / SVNGIT / SVN
GIT / SVN
Torben Brodt
 
Ultimate Git Workflow - Seoul 2015
Ultimate Git Workflow - Seoul 2015Ultimate Git Workflow - Seoul 2015
Ultimate Git Workflow - Seoul 2015
Atlassian 대한민국
 
Git and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software DevelopmentGit and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software Development
Lemi Orhan Ergin
 
Einführung in Git - GameCamp Munich 2011
Einführung in Git - GameCamp Munich 2011Einführung in Git - GameCamp Munich 2011
Einführung in Git - GameCamp Munich 2011
renebruns
 
Git vs SVN - Eine vergleichende Einführung
Git vs SVN - Eine vergleichende EinführungGit vs SVN - Eine vergleichende Einführung
Git vs SVN - Eine vergleichende Einführung
Mario Müller
 
Subversion -> SVK -> Git
Subversion -> SVK -> GitSubversion -> SVK -> Git
Subversion -> SVK -> Git
Kota Sakoda
 
Git Grundlagen
Git GrundlagenGit Grundlagen
Git Grundlagen
Benjamin Schürmann
 
git Vorstellung
git Vorstellunggit Vorstellung
git Vorstellung
Sven-S. Porst
 
Versionierung mit Git und SourceTree
Versionierung mit Git und SourceTreeVersionierung mit Git und SourceTree
Versionierung mit Git und SourceTree
lucas_jahn
 
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
 
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas HirtFMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
Verein FM Konferenz
 

Andere mochten auch (19)

Versionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und GitVersionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und Git
 
Gitlab
GitlabGitlab
Gitlab
 
Überblick über aktuelle Versionsmanagementsysteme
Überblick über aktuelle VersionsmanagementsystemeÜberblick über aktuelle Versionsmanagementsysteme
Überblick über aktuelle Versionsmanagementsysteme
 
'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!
 
Einsatz von Git im Unternehmen
Einsatz von Git im UnternehmenEinsatz von Git im Unternehmen
Einsatz von Git im Unternehmen
 
Einstieg in git
Einstieg in gitEinstieg in git
Einstieg in git
 
git - eine praktische Einführung
git - eine praktische Einführunggit - eine praktische Einführung
git - eine praktische Einführung
 
The development workflow of git github for beginners
The development workflow of git github for beginnersThe development workflow of git github for beginners
The development workflow of git github for beginners
 
GIT / SVN
GIT / SVNGIT / SVN
GIT / SVN
 
Ultimate Git Workflow - Seoul 2015
Ultimate Git Workflow - Seoul 2015Ultimate Git Workflow - Seoul 2015
Ultimate Git Workflow - Seoul 2015
 
Git and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software DevelopmentGit and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software Development
 
Einführung in Git - GameCamp Munich 2011
Einführung in Git - GameCamp Munich 2011Einführung in Git - GameCamp Munich 2011
Einführung in Git - GameCamp Munich 2011
 
Git vs SVN - Eine vergleichende Einführung
Git vs SVN - Eine vergleichende EinführungGit vs SVN - Eine vergleichende Einführung
Git vs SVN - Eine vergleichende Einführung
 
Subversion -> SVK -> Git
Subversion -> SVK -> GitSubversion -> SVK -> Git
Subversion -> SVK -> Git
 
Git Grundlagen
Git GrundlagenGit Grundlagen
Git Grundlagen
 
git Vorstellung
git Vorstellunggit Vorstellung
git Vorstellung
 
Versionierung mit Git und SourceTree
Versionierung mit Git und SourceTreeVersionierung mit Git und SourceTree
Versionierung mit Git und SourceTree
 
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
 
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas HirtFMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
 

Do it the_git_way

  • 1. Do it the .git way
  • 2. .Inhalt ‣ Was ist git? ‣ Wie geht git? ‣ Warum brauchen wir git? ‣ gitgitgitgitgitgit?
  • 3.
  • 4. Was ist git? • Versionskontrolle • Dezentral • Baummodell als Grundlage ‣ ‣ branch ‣ • tree leaf remote und origin
  • 6. Wie geht git init? • Initialisieren des git-repositorys • .git-Ordner wird erstellt • .git/config wird angelegt • .gitignore sollte dazu manuell angelegt werden • HEAD
  • 8. Wie geht git add? • Normal wird keine Datei getracked • “git add” fügt Dateien und Ordner zum Repository hinzu • Hinzugefügte Dateien werden getracked • git add macht Änderungen “commitbar” • vom “untracked” über den “unstaged” zum “stage”-Zustand
  • 10. Wie geht git commit? • Erfassen des aktuellen “stage”-Zustand als Version • commit-hash für jeden “commit” • git commit -am ‘<insert_msg_here>’ • HEAD = letzter commit hash
  • 11. DEMO
  • 12. Wie geht git push? • Ohne remote kein push • Ein entferntes Repository wird als “remote” location angegeben • git remote add origin https://url-zum-repository • Aktueller HEAD wird zum remote-repository synchronisiert
  • 13. DEMO
  • 14. Wie geht git pull? • Ohne remote kein pull • Aktueller HEAD wird vom remote-repository synchronisiert
  • 15. DEMO
  • 16. Wie geht git stash? • Der Stash ist eine Art Zwischenspeicher • git stash “speichert” den aktuellen Stand separat • Es können dann Änderungen im aktuellen Repository gemacht werden • Danach muss man den stash anwenden, wenn man ihn behalten will
  • 17. DEMO
  • 18. Wie geht git branch? • branches sind “Zweige” in einem repository • normal: 1 branch = 1 feature • wenn das Feature fertig ist, wird dessen branch in den jeweiligen “master” branch gemerged.
  • 19. DEMO
  • 20. Wie geht git merge? • Fügt zwei branches zusammen • git merge ist intelligent ‣ braucht aber manchmal unsere Hilfe (merge conflichts) ‣ Änderungen zweier Branches an denselben Stellen werden entsprechend markiert
  • 21. DEMO
  • 22. Wie geht git reset? • Setzt HEAD zurück • commit hashes sind etwas Gutes! • git reset —soft • git reset —hard
  • 23. DEMO
  • 25. Warum brauchen wir git? • Ganze Magento-Installationen per git verwalten • https://github.com/github/gitignore • Jede Änderung ist protokolliert • Wer hat wann was wo getan? • Resets/“OW SH*T”´s können schnell behoben werden
  • 26. Warum kann git bei uns Probleme machen? • Kunden mit FTP-Zugang können Ihre Änderungen nicht comitten • Lösungsvorschläge bitte an passmann@hucke-media.de ;)
  • 27. Danke