15
Referenten: Uwe Stühler & Torben Brodt Datum: 18.11.2008 Veranstalter: plista.com GmbH >> GIT / SVN

GIT / SVN

Embed Size (px)

DESCRIPTION

GIT bietet* Gesamte Versionshistorie* Schneller / Weniger Speicherplatz* Nette bunte Tools* Offline Commits* Leichteres Branchen/Mergen

Citation preview

Page 1: GIT / SVN

Referenten: Uwe Stühler & Torben Brodt Datum: 18.11.2008 Veranstalter: plista.com GmbH

>> GIT / SVN

Page 2: GIT / SVN

GIT / SVN: Inhalt

1. Vorteile von GIT

2. Demo

3. Frontends

4. Fragen

Page 3: GIT / SVN

Vorteile von GIT

Volle Historie Offline (Logs / Diffs)

Offline Commits

Lokale Branches

Viele nützliche git Tools ”in Farbe :)”

Trotzdem weniger Speicherplatz als ”checkout”

1/4

Page 4: GIT / SVN

Demo

Aller Anfang..

git svn clone https://svn2.host....YouFilter.PHP.Portal

Wundert euch nicht, dass das erste Klonen des SVN Repositories etwas länger dauert.

Um so mehr freuen wir uns, wenn wir die Dateigrößen betrachten. Vergleichen wir ein Projekt mit 2800 Revision. SVN Checkout meldet 45 MB - bei Git sind es nur 18 ;)

2/4

Page 5: GIT / SVN

Demo

Timeline (siehe Hashes)

git log Jeder Benutzer besitzt eine lokale Kopie der gesamten

Projektgeschichte. Es ist kein zentraler Server notwendig. Mit SVN kann man lediglich die letzte Revision einer Datei wiederherstellen.

Weil Git außerdem mit Kompression arbeitet macht die Dateigröße einer kompletten Historie oft nur einen Bruchteil der Größe eines SVN Checkouts aus.

2/4

Page 6: GIT / SVN

Demo

Changeset betrachten

git show 345afh5

2/4

Page 7: GIT / SVN

Demo

Neue Datei hinzufügen

git add Mit Git fügt man jede Datei die commitet werden soll

mit add hinzu.

2/4

Page 8: GIT / SVN

Demo

Lokalen Commit durchführen

git commit -a Um alle versionierten Dateien automatisch zu

commiten setzt man den Parameter -a

2/4

Page 9: GIT / SVN

Demo

Alle lokalen Commits an SVN senden

git svn dcommit

2/4

Page 10: GIT / SVN

Demo

Updates vom SVN Server laden

git svn fetch

2/4

Page 11: GIT / SVN

Demo

Weitere Befehle

git --help git status git grep 'getInstance()' git branch git checkout

2/4

Page 12: GIT / SVN

Demo

Nützliche Konfiguration

git config --global color.diff auto git config --global color.status auto git config --global color.branch auto

Alias für svn update / git update

git config --global alias.update 'svn fetch'

2/4

Page 13: GIT / SVN

Frontends

Commandline ;)

git-cvsserver (kommt mit git)

egit (eclipse): http://git.or.cz/gitwiki/EclipsePlugin

"Some tests have been performed using both Cygwin and MSYS git. Both have issues that we need both feedback and patches for."

Windows Explorer Integration / Git Cheetah, http://repo.or.cz/w/git-cheetah.git/

"do not expect anything to work"

3/4

Page 14: GIT / SVN

Fragen 4/4

Page 15: GIT / SVN

Literatur 4/4

Informationen zu Git und Git-Svn

http://git.or.cz/course/svn.html http://linux.yyz.us/git-howto.html