Clonk-Center Titelbild

Texte / Git Tutorial




Git ist wie SVN eine Versionsverwaltung. Also ein Tool zur Versionierung und Synchroniesierung von Daten, beispielweise für größere Clonkmodifikationen. Schattenblut ist vor kurzer Zeit auf Git umgezogen, weil das SVN-Repo kaputt gegangen ist. Die Umstellung war schnell und einfach zugegangen und Git ist mir bisher als schön einfach und zuverlässig aufgefallen.

Dieses Tutorial geht davon aus das http://gitorious.org/ als Git-Host verwendet wird und msysGit als Git-Client unter Windows verwendet wird.

Installation von Git unter Windows:


1. http://code.google.com/p/msysgit/downloads/list -> Git-1.6.5.1-preview20091022.exe downloaden und ausführen.
2. Bei der Auswahl "GIT Bash only" auswählen
3. Bei der Auswahl der Zeilenenden auswählen das sie nicht verändert werden sollen. (Clonk macht sonst Probleme im Netzwerkspiel weil es meint die beiden Versionen des Packs sind nicht die selben)

Unter Linux und Mac dürfte die Installation keiner Erklärung benötigen.

Es gibt 2 Möglichkeiten Git zu bedienen, die Git Bash, also das benutzen über die Konsole, und die Git GUI als grafische Oberfläche. Beides wird hier erklärt.

Tutorial - Git Bash

Auschecken (klonen):


Konsole in einem beliebigen Verzeichniss öffnen, dort wo ihr eure Arbeitskopie drin haben wollt (Windows: Rechtsklick aufs das Verzeichniss -> Git Bash here)
git clone git://Adresse/eures/Repos.git
(Die Addresse solltet ihr von eurem Projektleiter bekommen)

Updaten (Neuste Version aus dem Online-Repo beziehen):

Konsole in eurer Arbeitskopie öffnen
git pull

Mehr braucht ein Betatester erstmal nicht tun. Mitarbeiter müssen noch folgendes tun um ihre Änderungen online zu stellen können.

SSH-Schlüssel generieren und registrieren:


ssh-keygen
->Bei allen Fragen einfach Enter drücken.
->Am Ende sollte dort etwas stehen wie "Your public key has been saved in". Diese Datei in einem Texteditor nach Wahl öffnen und kopieren.
Bei Gitorious anmelden. (Und vorher registrieren)
Bei Gitorious: Manage SSH-Keys -> Add SSH-Key
Schlüssel einfügen.
Öffnet die Repo-Seite eures Projektes und kopiert die URL bei "Your push url:"
Konsole in der Arbeitskopie öffnen:
git remote add push git@gitorious.org:Eure/PushURL.git

Commiten (Änderungen eintragen):


Für jede geänderte Datei einfach
  git add Unterpfad/Datei.c/ (Man kann auch einfach ganze Verzeichnisse zum commiten markieren  z.B. mit git add ShadowBlood.c4f/*, das fügt alle Änderungen in ShadowBlood.c4f hinzu)
git commit -m "Deine Zusammenfassung zu diesem Commit"
Und schließlich (Dies sendet die Änderungen zum Server):
git push push master (das push master ist nur beim ersten push nötig. Danach reicht ein git push)

Tipps:


Mit "git commit -a" lassen sich automatisch alle Änderungen hinzufügen mit "git commit -u" auch nur werden dann nur geänderte Dateien hinzugefügt, neue Dateien nicht. Damit ist es nicht unbedingt nötig die Dateien erst mit "git add" hinzuzufügen.

Tutorial - Git GUI

Auschecken (klonen):



Git GUI öffnen
Auf "Projektarchiv klonen"
-> Herkunft: git://Adresse/eures/Repos.git
-> Zielverzeichnis: Einen beliebigen Pfad. Dort werdet ihr dann eure Arbeitskopie finden.
-> Art des Klonens: Auf den Standardeinstellungen belassen
Fertig.

Updaten (Neuste Version aus dem Online-Repo beziehen):


Euer Projektarchiv öffnen.
Andere Archive -> Anfordern von: origin
Fertig.

Mehr braucht ein Betatester erstmal nicht tun. Mitarbeiter müssen noch folgendes tun um ihre Änderungen wieder an das Gitorious-Repo zu senden:

SSH-Schlüssel generieren und registrieren:


Bei Gitorius anmelden. (Und vorher registrieren)
Git GUI starten.
Hilfe -> SSH-Schlüssel anzeigen (möglicherweise vorher einen generieren)
Kopieren
Bei Gitorius: Manage SSH-Keys -> Add SSH-Key
Schlüssel einfügen.
Öffnet die Repo-Seite eures Projektes und kopiert die URL bei "Your push url:"
Git GUI:
Andere Archive -> Hinzufügen
-> Name: push
-> Adresse: Hier die Push-URL eintragen.
-> Weitere Aktion jetzt: Nichts tun

Commiten (Änderungen eintragen):



Git GUI und das Projektarchiv öffnen.
Bei "Nicht bereitgestellt Änderungen" alle Dateien die übertragen werden sollen anklicken.
Bei Versionsbeschreibung eine Zusammenfassung der Änderungen eintragen.
Auf "Abzeichnen" klicken. (Dies erstellt ein neuse Commit)
"Eintragen" (Dies sendet die Commits schließlich zum Online-Repo)
-> Anderes Archiv: push
Versenden und fertig!




2 Kommentare


20.02.2010 20:42 von Spell:
[vom Autor gelöscht]
Zuletzt geändert: 12.07.2010 21:03

20.02.2010 15:39 von Luchs:
Unter Windows gibt es aber imo praktischere GUIs für git, wie TortoiseGIT oder Git Extensions.