GIT

GIT und Windows

Git unter Windows ist keine ganz leichte Sache. Es gibt leider keinen nativen Port für Windows (Git wurde nunmal für die Entwicklung der Linux-Kernel gebaut und daher für Unix konzipiert). Inzwischen ist jedoch eine Git-Version in Cygwin (http://www.cygwin.com) enthalten. Sie ist jedoch mit einigen Problemen behaftet (so wird z.B. ein NTFS-Laufwerk benötigt). Weitere Details sind unter http://git.or.cz/gitwiki/WindowsInstall zu finden.

Allgemeines

Einige CVS-Benutzer (evt auch Benutzer anderer zentralisierten Versionsverwaltungssysteme wie Subversion) werden sich sicherlich fragen, warum sie sich ueberhaupt fuer die Funktionalität von GIT interessieren sollten, da sie ja keinen Account auf dem Server haben. Git ist dezentral. Das heißt, dass es keinen Server gibt, wo man einen Account braucht um Änderungen zu verwalten. Jeder hat gewissermaßen auf seinem lokalen Computer einen eigenen "Server" auf dem er beliebig committen, reverten, branchen oder taggen kann. Der Git-"Server" ist nichts anderes als die Kopie eines von vielen Repositories, nämlich meines lokalen. Es ist ueberings auch möglich sich mit mehr als einem "öffentlichen" Repository zu synchronisieren.

Einrichtung

Wenn ihr die Sources mit Git heruntergeladen habt, habt ihr bereits fast alles gemacht, um committen zu können. Ihr müsst nur noch Git euren Namen und eure Email mitteilen:

git repo-config user.name "Dein Name"
git repo-config user.email "deine_email@adresse.de"

Einfache Commits

Hinweis: Es ist besser einen eigenen Branch für Änderungen anzulegen

Nachdem ihr einige Änderungen durchgeführt habt, könnt ihr Git fragen, was ihr geändert habt

git status

Alternativ um ein Diff anzuzeigen

git diff

Um die Dateien zu commiten

git commit pfad/zur/ersten/datei pfad/zur/zweiten/datei ...

Hinweis: In Git sind Commit-Operationen sehr schnell. Es lohnt sich also statt eines großen mehrere kleine commits zu machen. Das hilft auch dabei Fehler hinterher zu identifizieren.

Einsenden von Patches

Git hilft euch dabei Patches an einen Entwickler zu senden, damit diese(r) ihn in das öffentliche Repository aufnehmen/aufnimmt. Git sendet die Änderungen auf Wunsch sogar via IMAP ins Entwurfsverzeichnis eines Mail-Accounts (git-imap-send) oder versendet direkt Emails (git-send-email) (wird hier jedoch nicht behandelt).

Um Patches generieren zu lassen, welche hinterher ins Mail-Programm importiert werden können, genügt folgendes:

git format-patch -M -B -o out origin

Die Commits, welche nicht im Branch origin (der Branch des öffentlichen Repositories) sind, werden dann durchnummeriert im Verzeichnis "out" abgelegt (als diff inklusive Änderungsnachricht - es reicht also diese direkt in die Mail einzufügen ohne weiteren Text (sofern euer Mailprogramm nicht Zeilenumbrücke einfügt))

Links

GIT Dokumentation
git für Subversion-Kenner
git für CVS-Kenner

git (last edited 2007-05-24 08:45:03 by bKtHeG)