Samstag, 14. Mai 2011

Versionskontrolle mit Git Teil 1

Versionskontrolle mit Git Teil 1

Einen lokalen Integrationserver zu haben und seinen Build mit Maven oder Ant wie in den Posts ab Continuous Integration Teil 1 beschrieben zu automatisieren ist eine tolle Sache. Richtig sinnvoll wird beides dann, wenn man in einem Team an einem Projekt arbeitet und sicherstellen möchte, dass dieses Projekt immer funktioniert (oder zumindest kompiliert).
Ein Versionskontrollsystem, bzw. Versionsverwaltung (auch mit SCM - source code manager - abgekürzt) hilft dem Einzelnen Versionen des Source Codes zu verwalten, besonders aber einem Team an gleichen Dateien zu arbeiten und die Änderungen zusammen zu bringen.

Es gibt eine ganze Reihe von verschiedenen System, die man als Entwickler-Team nutzen kann:
  1. Git
  2. Mercurial
  3. SVN
  4. CVS
sind wohl die am Moment populärsten. Ein großer Unterschied zwischen Git und Mercurial zu SVN und CVS ist, dass die Ersteren verteilte Systeme sind. Jeder User hat das gesamte Repository bei sich auf dem Rechner. Bei SVN und CVS gibt es hingegen ein zentrales Repository normalerweise auf einem (Web)Server.
Git hat den großen Vorteil, dass man selbst ohne Webserver, z.B. auf einem gemeinsamen Laufwerk, ein Repository zum Synchronisieren mit dem Team nutzen kann. Damit kann man ohne großen Aufwand in einem kleinen Projekt (z.B. zu zweit) eine vernünftige Versionskontrolle machen und auch ein CI System an Git anbinden.
Starten mit Git
Zuerst muss man Git installieren. Github ist nicht nur ein Gitserver, der umsonst für Open Source Projekte ist, sie haben auch eine sehr gute Hilfe.
Für das Installieren von Git unter Windows kann man sich an dem Github Tutorial orientieren. Die Schritte mit dem SSH Key kann man weglassen, wenn man nicht Github oder einen anderen Server bei dem man sich authentifizieren muss nutzen möchte. Der Installer/Gui für Git unter Windows msysgit ist aber auch sehr einfach ohne Tutorial zu installieren. Einfach herunterladen und starten.
Nach der Installation von Git unter Windows könnt ihr einfach im Explorer zu einem neuen Ordner browsen, mit der rechten Maustaste auf den Projektordner klicken und "Git GUI Here" wählen. Im Menü kann man dann "Create New Repository wählen" und den Pfad zum Projektordner angeben. Nachdem Anlegen des Repositories gebt ihr am besten über "Edit" und "Settings" Namen und Email an damit ihr das nicht bei jedem "push" machen müsst.
Ich benutze bei Git eher eine Shell als ein grafisches Tool. Mit msysgit könnt ihr einfach auf "Git Bash here" klicken und ihr bekommt eine Shell im richtigen Verzeichnis.
Nun legt einfach mal eine Datei namens readme.txt an. Dort kann man sein Projekt beschreiben. Git weiß nun noch nicht, dass es diese Datei verwalten soll. Gebt in eure Shell
git status
Dann sollte ihr eine Rückmeldung bekommen, dass readme.txt noch nicht getrackt wird. Mit
git add readme.txt
stellt ihr die Datei unter Versionskontrolle. Mit
git commit readme.txt -m "add readme"
macht ihr einen Commit, ihr stellt einen bestimmten Stand in euer Repository ein. Nun ändert einfach mal die readme.txt und schreibt "Erste Versuch mit Git" hinein und speichert das Ganze. Wenn ihr nun auf der Shell
git diff
eingebt, seht ihr den Unterschied von dem aktuellen Stand zum letzten Commit. Nun commited die Änderungen. Mit
git log
könnt ihr euch die letzten Commits angucken.

Keine Kommentare:

Kommentar veröffentlichen