MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | Git-Benutzung im MorgenGrauen |
| 2 | ============================= |
| 3 | |
| 4 | 0. 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 | |
| 17 | 1. 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 | |
| 41 | 2. 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 | |
| 54 | 3. 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 | |
| 70 | 4. 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 | |
| 75 | 5. 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 | |
| 82 | 6. 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 | |
| 86 | 6.1. Loeschen |
| 87 | > ssh git@mg.mud.de D trash players/caldra/nebelberge |
| 88 | players/caldra/nebelberge moved to trashcan. |
| 89 | |
| 90 | 6.2. Muelleimer anzeigen |
| 91 | > ssh git@mg.mud.de D list-trash |
| 92 | players/caldra/nebelberge/2011-11-28_22:35:55 |
| 93 | |
| 94 | 6.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 | |
| 103 | SIEHE 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 | |
| 110 | 29.01.2013 Gloinson |
| 111 | Letzte Aenderung: 02.07.2014 Notstrom |