Präsentiert von Christian Ehringfeld · 2 29.11.15 Christian Ehringfeld - Git Inhaltsverzeichnis...
Transcript of Präsentiert von Christian Ehringfeld · 2 29.11.15 Christian Ehringfeld - Git Inhaltsverzeichnis...
Git
Präsentiert von Christian Ehringfeld
29.11.152 Christian Ehringfeld - Git
Inhaltsverzeichnis
Versionsverwaltung
Git
Demo
SVN 2 Git
Aufgabe
Hilfen
29.11.153 Christian Ehringfeld - Git
Versionsverwaltung
Protokollierung von Änderungen
Versionierung
Benutzerkennung und Zeitstempel
Wiederherstellung von älteren Versionen
Archivierung von Projektständen
29.11.154 Christian Ehringfeld - Git
Arten
Lokale Versionsverwaltung
Zentrale Versionverwaltung
Verteilte Versionsverwaltung
Vergleich
29.11.155 Christian Ehringfeld - Git
Lokale Versionsverwaltung
Lokale, persönliche Speicherung von „Versionen“
Beispiel:
Auto-Save Funktion (Strg+Z)
29.11.156 Christian Ehringfeld - Git
Zentrale Versionsverwaltung
Speicherung auf EINEM zentralem Server
Meist mit Benutzer-/Rechteverwaltung
Beispiele:
SVN CVS Team Foundation Server
29.11.157 Christian Ehringfeld - Git
Verteilte Versionsverwaltung
Versionen zunächst lokal gespeichert
Enthält üblicherweise alle Versionen
Kann mit anderen geteilt/verteilt werden
Beispiele:
Git Bazaar Bitkeeper Mercurial
29.11.158 Christian Ehringfeld - Git
Vergleich
29.11.159 Christian Ehringfeld - Git
Vergleich
Zentrale Versionsverwaltung Verteilte Versionsverwaltung
Single-Point-of-Failure Offline-VersionierungKein Single-Point-of-Failure
übersichtlich Änderungen können ohne Server geteilt werden
Kleine Versionsnummern Zu jedem Zeitpunkt konfliktfreie Version vorhanden
Wenig Redundanz Mehr Redundanzen möglich
schnell
Branches komfortabler
29.11.1510 Christian Ehringfeld - Git
Begriffe
Repository
Branch
Tag
Commit
Working Copy
Diff
Conflict
HEAD
29.11.1511 Christian Ehringfeld - Git
Git
Verteilte Versionsverwaltung
Ursprünglich für den Linux-Kernel
Breite Plattformunterstützung
Wer nutzt Git?
Android, Debian, Gnome, jQuery, LibreOffice, Linux, PHP, Samba, Qt, TYPO3, VLC, …
Siehe github
29.11.1512 Christian Ehringfeld - Git
Git – Die wichtigsten Befehle
git add DATEI ORDNERgit add DATEI ORDNER
git commit [-m “fixes #42“]git commit [-m “fixes #42“]
git init [name]git init [name]
git clone http://YOURDOMAIN/REPOgit clone http://YOURDOMAIN/REPO
git pull [origin] [branch]git pull [origin] [branch]
git push [origin] [branch]git push [origin] [branch]
git merge [branch/commit]git merge [branch/commit]
git checkout [-b] [branch/commit]git checkout [-b] [branch/commit]
29.11.1513 Christian Ehringfeld - Git
Git
Demo
29.11.1514 Christian Ehringfeld - Git
Git Konfiguration
git config --global user.name "Max Muster"git config --global user.name "Max Muster"
git config --global user.email git config --global user.email "[email protected]""[email protected]"
git config --global color.ui autogit config --global color.ui auto
Speicherung der Anmeldedaten:Speicherung der Anmeldedaten:
git config --global credential.helper storegit config --global credential.helper store
29.11.1515 Christian Ehringfeld - Git
.gitignore
(Temporäre) Dateien und Pfade exkludieren
vim .gitignorevim .gitignore
*.log*.log
build/build/
temp-*temp-*
dist/dist/ git add .gitignore & git commit -m “added .gitignore“git add .gitignore & git commit -m “added .gitignore“
29.11.1516 Christian Ehringfeld - Git
Redmine
Bei vorhandenem Git Repository:
git remote add origin http://YOURDOMAIN/REPOgit remote add origin http://YOURDOMAIN/REPO
Kontrolle mit git remote -vKontrolle mit git remote -v
git pull origingit pull origin
git push origin #branch/tag angebengit push origin #branch/tag angeben
29.11.1517 Christian Ehringfeld - Git
SVN 2 Git
git svn clone http://YOURDOMAIN/svn/PROJEKTgit svn clone http://YOURDOMAIN/svn/PROJEKT
Für „advanced“ Migration siehe Quellen
29.11.1518 Christian Ehringfeld - Git
Aufgabe
Installiere Git
Importiere das Projekt von Git (http://YOURDOMAIN/git-test)
Erstelle eine Datei mit willkürlichem Inhalt
Stell die Datei deinen Kollegen über die Versionsverwaltung zur Verfügung
Schau über die Versionsverwaltung, was die anderen hochgeladen haben
29.11.1519 Christian Ehringfeld - Git
Git
Fragen?
29.11.1520 Christian Ehringfeld - Git
Hilfen
https://training.github.com/kit/downloads/github-git-cheat-sheet.pdf
http://www.cheat-sheets.org/saved-copy/git-cheat-sheet.pdf
https://rogerdudler.github.io/git-guide/index.de.html
http://justinhileman.info/article/git-pretty/
http://git-scm.com/book/de/v1
Git als „Spiel“:
http://pcottle.github.io/learnGitBranching/
https://try.github.io/levels/1/challenges/1
29.11.1521 Christian Ehringfeld - Git
Quellen
https://www.mittwald.de/blog/wp-content/uploads/2013/05/Bildschirmfoto-2013-05-13-um-09.53.36.png
http://www.itworld.com/article/2885956/migrating-from-svn-to-git-version-control-part-2.html
Präsentation „Versionsverwaltung“ von Daniel Failing