blob: 8a6acdd356bcee324e9eea3a5012a4b50c21e420 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001Git-Benutzung im MorgenGrauen
2=============================
3
40. Einleitung
5 Hier soll kurz beschrieben werden, wie man nun an die Repositories auf dem
6 Mudrechner rankommt.
7 Es wird an dieser Stelle vorausgesetzt, dass der Leser/Magier
8 grundsaetzlich weiss, was Git ist und wie es benutzt wird. Hier sollen
9 lediglich Besonderheiten im Zusammenhang mit dem MG erlaeutert werden.
10 Ebenso wird vorausgesetzt, dass der Magier Git und einen SSH-Client auf
11 seinem Rechner installiert hat.
12
13 Wer jetzt noch nix von Git weiss, sei auf die reichhaltig im Netz
14 verfuegbare Doku verwiesen: s. a. git-links.
15
16
171. Zugriffsrechte auf Git-Repositories
18 Zunaechst muss man sich als Git-Nutzer eintragen lassen. Hierzu braucht man
19 ein SSH-Schluesselpaar, welches man z.B. mittels ssh-keygen erstellen
20 kann. Den _oeffentlichen_ Schluessel (.pub am Ende) legt man dann als
21 <magier>.pub in sein Homeverzeichnis und spricht einen EM (z.B. Zesstra)
22 an.
23
24 Mittels des Befehls
25 > ssh git@mg.mud.de info
26 kann man sich anzeigen lassen, auf welche existierenden Repositories man
27 welche Zugriffsrechte hat (R: lesen, W: schreiben). Beispiel:
28 R W (zesstra) d/inseln/zesstra/vulkanweg
29 In diesem Fall hat der Benutzer Lese- und Schreibrechte auf
30 d/inseln/zesstra/vulkanweg. Das Repository gehoert zesstra.
31
32 Zusaetzlich umfasst die Ausgabe auch die Zugriffsrechte aller _moeglichen_
33 (aber noch nicht existierenden) Repos.
34 Wichtig ist hier das Erstellungsrecht (C). Beispiel:
35 C R W d/unterwelt/zesstra/[a-zA-Z]{1}[a-zA-Z0-9_.\-]*
36 Hier hat der Benutzer auf alle Repos unterhalb von d/unterwelt/zesstra/
37 (wobei alle diese Repos mit einem Buchstaben beginnen und ansonsten nur
38 Buchstaben, Zahlen, _, . und - enthalten duerfen) Lese-, Schreib- und
39 Erstellungsrechte.
40
412. Ein existierendes Repository clonen
42 Dies erfolgt ganz simpel mit dem Befehl:
43 > git clone git@mg.mud.de:players/zesstra/testgebiet <zielverzeichnis>
44 Das Zielverzeichnis ist hierbei beliebig. Empfehlung: alle MG-Repos in
45 einem Verzeichnis sammeln und dort die Verzeichnisstruktur aus dem Mud
46 beibehalten:
47 > git clone git@mg.mud.de:players/zesstra/testgebiet
48 players/zesstra/testgebiet
49 Damit Aenderungen spaeter auch Euren Magiernamen tragen, geht nun bitte in
50 Euer geclontes Repo und setzt Namen und eMail-Adresse:
51 > git config user.name "Magier"
52 > git config user.email "user@example.com"
53
543. Ein neues Repository erstellen.
55 Voraussetzung: das Verzeichnis im Mud existiert.
56 Dies geht, wenn ihr Schreibzugriff auf das Verzeichnis im Mud habt. Legt
57 einfach in dem Verzeichnis eine Datei namens "git-mud-import" an (Inhalt
58 ist egal) und wartet bis zur naechsten vollen Stunde.
59 ACHTUNG: das Verzeichnis im Mud darf NICHT leer sein, sondern muss min.
60 eine Datei (ggf. in einem Unterverzeichnis) enthalten!
61
62 Anmerkungen:
63 Existiert ein Repo bereits, ist ein automatischer Import aus dem Mud nicht
64 mehr moeglich.
65 Bei einem "git clone" auf ein noch nicht existierendes Repo wird das
66 das Repo automatisch angelegt - dieses Repo wird dann aber nicht mit
67 dem Mud synchronisiert!
68 Daher: erst (erfolgreich) importieren, dann clonen.
69
704. Arbeiten mit dem Repo
71 Hierzu sei zuerst einmal auf die allgemein im Netz verfuegbare Dokumentation
72 zu Git und natuerlich seine Manpages verwiesen.
73 Einen beispielhaften Arbeitsablauf findet sich in der Manpage git-workflow.
74
755. Synchronisation mit dem Mud
76 Repos koennen bei einem 'git push' von aussen automatisch die Aenderungen
77 des master-Branches ins Mud uebertragen. Desweiteren koennen Aenderungen
78 aus dem Mud automatisch in das Repo importiert werden.
79 Auf diese Weise ist das Verwenden von FTP fast ueberfluessig.
80 Details sind in der Manpage git-sync angegeben.
81
826. Loeschen von Repositories
83 Git-Repos, die von euch selber GEHOEREN (Schreibrechte allein reichen nicht)
84 koennen geloescht und - zumindest eine Weile auch wieder restauriert werden.
85
866.1. Loeschen
87 > ssh git@mg.mud.de D trash players/caldra/nebelberge
88 players/caldra/nebelberge moved to trashcan.
89
906.2. Muelleimer anzeigen
91 > ssh git@mg.mud.de D list-trash
92 players/caldra/nebelberge/2011-11-28_22:35:55
93
946.3. Restaurieren
95 > ssh git@mg.mud.de D restore players/caldra/nebelberge/2011-11-28_22:35:55
96 players/caldra/nebelberge/2011-11-28_22:35:55 restored to
97 players/caldra/nebelberge
98
99 Es versteht sich von selbst, dass Ihr mit diesem Mittel sehr zurueckhaltend
100 umgehen solltet. Bei Missbrauch wird ggf. ein Backup eingespielt und diese
101 Moeglichkeit wieder geloescht.
102
103SIEHE AUCH:
104 git-repositories: Repository-Verwaltung im Mud
105 git-workflow: Ein simples Beispiel eines Arbeitsflusses mit Git
106 git-sync: Wie die Synchronisierung zw. git-Repos und Mudlib ablaeuft
107 git-faq: haeufig gestellte Fragen/Probleme
108 git-links: Verweise ins WWW
109
11029.01.2013 Gloinson
111Letzte Aenderung: 02.07.2014 Notstrom