MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | Erweiterung zum Git-Workflow: |
| 2 | ============================= |
| 3 | |
| 4 | Bei manchen Projekten will man mit anderen Magiern kooperieren, aber: |
| 5 | * die Dateien im MUD fuer die Spieler unveraendert lassen |
| 6 | * in einem ordentlichen Zweig zusammenarbeiten |
| 7 | |
| 8 | Dazu kann man Zweige auch remote, also im MUD erstellen. Da nur der |
| 9 | 'master'-Zweig in das MUD selbst synchronisiert wird, kann man ueber |
| 10 | das MUD so die Repositories auf mehr als einen Computer/mehr als einer |
| 11 | Person synchronisieren, ohne die Spieler mit seiner Entwicklungsarbeit |
| 12 | zu behelligen: |
| 13 | |
| 14 | # Alternativen in/zu Schritt 4: Kooperation in einem remote Zweig. |
| 15 | Falls ich mit anderen Leuten meinen Code teilen will, dieser aber nicht im |
| 16 | MUD im 'master'-Zweig auftauchen (also als Dateiaenderung fuer alle Spieler |
| 17 | gelten) soll, kann ich auch nur meinen Zweig selbst ins MUD schicken: |
| 18 | > git checkout neue_kampftaktik |
| 19 | > git push -u git@mg.mud.de:/dings/bums neue_kampftaktik |
| 20 | |
| 21 | Als Antwort duerfte sowas wie: |
| 22 | * [new branch] neue_kampftaktik -> neue_kampftaktik |
| 23 | dort stehen. |
| 24 | |
| 25 | Mit |
| 26 | > git pull |
| 27 | koennen wir uns diese Aenderungen am MUD-Repository holen. Der Zweig |
| 28 | 'neue_kampftaktik' ist jetzt ein Zweig auch im MUD und alle Leute, |
| 29 | die sich jetzt das Repository /dings/bums clonen, steht genau dieser |
| 30 | Zweig mit all unseren Aenderungen jetzt auch zur Verfuegung. |
| 31 | |
| 32 | Unser lokaler Zweig 'neue_kampftaktik' bekommt aber die Aenderungen |
| 33 | an diesem Zweig anderer eventuell noch nicht ganz mit. Mit |
| 34 | > git branch --set-upstream neue_kampftaktik remotes/origin/neue_kampftaktik |
| 35 | sagen wir dem lokalen Zweig, dass er ab jetzt mit dem remotes-Zweig |
| 36 | 'neue_kampftaktik' verbunden ist. |
| 37 | |
| 38 | Damit bekommen wir etwaige remote-Aenderungen in diesem Zweig nach einem |
| 39 | > git pull |
| 40 | bei einem folgenden |
| 41 | > git checkout neue_kampftaktik |
| 42 | direkt mitgeteilt, eventuell in der Form: |
| 43 | Your branch is behind 'origin/neue_kampftaktik' by 1 commit, and can be |
| 44 | fast-forwarded. |
| 45 | Das ist sehr einfach durch ein |
| 46 | > git merge origin/neue_kampftaktik |
| 47 | korrigierbar und schon koennen wir selber wieder an dem aktualisierten Zweig |
| 48 | arbeiten und Aenderungen pushen. Siehe Schritt 5. |
| 49 | |
| 50 | Ziel einer solchen Zusammenarbeit ist natuerlich immer, irgendwann auch |
| 51 | wieder den aus Schritt 4 bekannten Merge gegen den Zweig 'master' durchzu- |
| 52 | fuehren, damit die Spieler was davon haben. |
| 53 | Wenn wir also irgendwann diesen Merge durchgefuehrt haben und der Zweig |
| 54 | 'neue_kampftaktik' unnoetig geworden ist, koennen wir ihn auf der Seite |
| 55 | des MUDs mit: |
| 56 | > git push git@mg.mud.de:/dings/bums :neue_kampftaktik |
| 57 | aufraeumen. Der einzige Unterschied zum Erstellen des Zweiges auf MUD-Seite |
| 58 | ist tatsaechlich der ':' vor dem Namen des Zweigs. |
| 59 | Achtung: das geht momentan (noch) nicht und auf 'master' ohnehin nie. |
| 60 | |
| 61 | SIEHE AUCH |
| 62 | git-repositories: Repository-Verwaltung im Mud |
| 63 | git-howto: Wie git benutzt wird |
| 64 | git-workflow: Ein simples Beispiel eines Arbeitsflusses mit Git |
| 65 | git-sync: Wie die Synchronisierung zw. git-Repos und Mudlib ablaeuft |
| 66 | git-faq: haeufig gestellte Fragen/Probleme |
| 67 | |
| 68 | 02. Feb 2013 Gloinson |