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