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

Do it the_git_way

  • 1.
    Do it the.git way
  • 2.
    .Inhalt ‣ Was ist git? ‣ Wiegeht git? ‣ Warum brauchen wir git? ‣ gitgitgitgitgitgit?
  • 3.
  • 4.
    Was ist git? • Versionskontrolle • Dezentral • Baummodellals Grundlage ‣ ‣ branch ‣ • tree leaf remote und origin
  • 5.
  • 6.
    Wie geht gitinit? • Initialisieren des git-repositorys • .git-Ordner wird erstellt • .git/config wird angelegt • .gitignore sollte dazu manuell angelegt werden • HEAD
  • 7.
  • 8.
    Wie geht gitadd? • 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
  • 9.
  • 10.
    Wie geht gitcommit? • Erfassen des aktuellen “stage”-Zustand als Version • commit-hash für jeden “commit” • git commit -am ‘<insert_msg_here>’ • HEAD = letzter commit hash
  • 11.
  • 12.
    Wie geht gitpush? • 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.
  • 14.
    Wie geht gitpull? • Ohne remote kein pull • Aktueller HEAD wird vom remote-repository synchronisiert
  • 15.
  • 16.
    Wie geht gitstash? • 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.
  • 18.
    Wie geht gitbranch? • 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.
  • 20.
    Wie geht gitmerge? • 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.
  • 22.
    Wie geht gitreset? • Setzt HEAD zurück • commit hashes sind etwas Gutes! • git reset —soft • git reset —hard
  • 23.
  • 24.
  • 25.
    Warum brauchen wirgit? • 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 gitbei uns Probleme machen? • Kunden mit FTP-Zugang können Ihre Änderungen nicht comitten • Lösungsvorschläge bitte an passmann@hucke-media.de ;)
  • 27.