| 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 |