blob: 8a6acdd356bcee324e9eea3a5012a4b50c21e420 [file] [log] [blame]
Git-Benutzung im MorgenGrauen
=============================
0. Einleitung
Hier soll kurz beschrieben werden, wie man nun an die Repositories auf dem
Mudrechner rankommt.
Es wird an dieser Stelle vorausgesetzt, dass der Leser/Magier
grundsaetzlich weiss, was Git ist und wie es benutzt wird. Hier sollen
lediglich Besonderheiten im Zusammenhang mit dem MG erlaeutert werden.
Ebenso wird vorausgesetzt, dass der Magier Git und einen SSH-Client auf
seinem Rechner installiert hat.
Wer jetzt noch nix von Git weiss, sei auf die reichhaltig im Netz
verfuegbare Doku verwiesen: s. a. git-links.
1. Zugriffsrechte auf Git-Repositories
Zunaechst muss man sich als Git-Nutzer eintragen lassen. Hierzu braucht man
ein SSH-Schluesselpaar, welches man z.B. mittels ssh-keygen erstellen
kann. Den _oeffentlichen_ Schluessel (.pub am Ende) legt man dann als
<magier>.pub in sein Homeverzeichnis und spricht einen EM (z.B. Zesstra)
an.
Mittels des Befehls
> ssh git@mg.mud.de info
kann man sich anzeigen lassen, auf welche existierenden Repositories man
welche Zugriffsrechte hat (R: lesen, W: schreiben). Beispiel:
R W (zesstra) d/inseln/zesstra/vulkanweg
In diesem Fall hat der Benutzer Lese- und Schreibrechte auf
d/inseln/zesstra/vulkanweg. Das Repository gehoert zesstra.
Zusaetzlich umfasst die Ausgabe auch die Zugriffsrechte aller _moeglichen_
(aber noch nicht existierenden) Repos.
Wichtig ist hier das Erstellungsrecht (C). Beispiel:
C R W d/unterwelt/zesstra/[a-zA-Z]{1}[a-zA-Z0-9_.\-]*
Hier hat der Benutzer auf alle Repos unterhalb von d/unterwelt/zesstra/
(wobei alle diese Repos mit einem Buchstaben beginnen und ansonsten nur
Buchstaben, Zahlen, _, . und - enthalten duerfen) Lese-, Schreib- und
Erstellungsrechte.
2. Ein existierendes Repository clonen
Dies erfolgt ganz simpel mit dem Befehl:
> git clone git@mg.mud.de:players/zesstra/testgebiet <zielverzeichnis>
Das Zielverzeichnis ist hierbei beliebig. Empfehlung: alle MG-Repos in
einem Verzeichnis sammeln und dort die Verzeichnisstruktur aus dem Mud
beibehalten:
> git clone git@mg.mud.de:players/zesstra/testgebiet
players/zesstra/testgebiet
Damit Aenderungen spaeter auch Euren Magiernamen tragen, geht nun bitte in
Euer geclontes Repo und setzt Namen und eMail-Adresse:
> git config user.name "Magier"
> git config user.email "user@example.com"
3. Ein neues Repository erstellen.
Voraussetzung: das Verzeichnis im Mud existiert.
Dies geht, wenn ihr Schreibzugriff auf das Verzeichnis im Mud habt. Legt
einfach in dem Verzeichnis eine Datei namens "git-mud-import" an (Inhalt
ist egal) und wartet bis zur naechsten vollen Stunde.
ACHTUNG: das Verzeichnis im Mud darf NICHT leer sein, sondern muss min.
eine Datei (ggf. in einem Unterverzeichnis) enthalten!
Anmerkungen:
Existiert ein Repo bereits, ist ein automatischer Import aus dem Mud nicht
mehr moeglich.
Bei einem "git clone" auf ein noch nicht existierendes Repo wird das
das Repo automatisch angelegt - dieses Repo wird dann aber nicht mit
dem Mud synchronisiert!
Daher: erst (erfolgreich) importieren, dann clonen.
4. Arbeiten mit dem Repo
Hierzu sei zuerst einmal auf die allgemein im Netz verfuegbare Dokumentation
zu Git und natuerlich seine Manpages verwiesen.
Einen beispielhaften Arbeitsablauf findet sich in der Manpage git-workflow.
5. Synchronisation mit dem Mud
Repos koennen bei einem 'git push' von aussen automatisch die Aenderungen
des master-Branches ins Mud uebertragen. Desweiteren koennen Aenderungen
aus dem Mud automatisch in das Repo importiert werden.
Auf diese Weise ist das Verwenden von FTP fast ueberfluessig.
Details sind in der Manpage git-sync angegeben.
6. Loeschen von Repositories
Git-Repos, die von euch selber GEHOEREN (Schreibrechte allein reichen nicht)
koennen geloescht und - zumindest eine Weile auch wieder restauriert werden.
6.1. Loeschen
> ssh git@mg.mud.de D trash players/caldra/nebelberge
players/caldra/nebelberge moved to trashcan.
6.2. Muelleimer anzeigen
> ssh git@mg.mud.de D list-trash
players/caldra/nebelberge/2011-11-28_22:35:55
6.3. Restaurieren
> ssh git@mg.mud.de D restore players/caldra/nebelberge/2011-11-28_22:35:55
players/caldra/nebelberge/2011-11-28_22:35:55 restored to
players/caldra/nebelberge
Es versteht sich von selbst, dass Ihr mit diesem Mittel sehr zurueckhaltend
umgehen solltet. Bei Missbrauch wird ggf. ein Backup eingespielt und diese
Moeglichkeit wieder geloescht.
SIEHE AUCH:
git-repositories: Repository-Verwaltung im Mud
git-workflow: Ein simples Beispiel eines Arbeitsflusses mit Git
git-sync: Wie die Synchronisierung zw. git-Repos und Mudlib ablaeuft
git-faq: haeufig gestellte Fragen/Probleme
git-links: Verweise ins WWW
29.01.2013 Gloinson
Letzte Aenderung: 02.07.2014 Notstrom