Zesstra | 16b2a15 | 2020-04-12 12:40:29 +0200 | [diff] [blame] | 1 | Upload via Gerrit |
| 2 | ***************** |
| 3 | |
| 4 | Zunaechst sei einmal auf die Manpage Git workflow verwiesen. |
| 5 | |
| 6 | |
| 7 | Upload / Push ohne Review |
| 8 | ========================= |
| 9 | |
| 10 | Ihr folgt dem Git workflow einfach vollstaendig. Eure Aenderungen |
| 11 | werden direkt in die aktive Mudlib uebertragen. |
| 12 | |
| 13 | |
| 14 | Upload / Push mit Review |
| 15 | ======================== |
| 16 | |
| 17 | Folgt dem Git workflow bis Schritt 4 (einschliesslich). Ab dort gehts |
| 18 | wie folgt weiter: |
| 19 | |
Zesstra | e959e72 | 2025-07-09 22:11:16 +0200 | [diff] [blame] | 20 | 5. Pusht eure Aenderungen zum Review nach Gerrit: "git push origin |
| 21 | lokalerbranch:refs/for/master" Damit werden eure Aenderungen des |
| 22 | Zweigs lokalerbranch in den Review fuer den master-Zweig im MG |
| 23 | uebertragen. Fuer jeden Commit wird ein Change in Gerrit |
| 24 | erzeugt. Ihr bekommt in der Ausgabe auch die URL zum Change, den |
| 25 | ihr erzeugt habt. Anschliessend tragt ihr entweder dort auf der |
| 26 | Weboberflaeche einen oder mehrere Reviewer ein oder redet mit |
| 27 | denjenigen im Mud. |
Zesstra | 16b2a15 | 2020-04-12 12:40:29 +0200 | [diff] [blame] | 28 | |
| 29 | 6. Die Reviewerin hat oft Wuensche, d.h. ihr muesste den Change |
| 30 | nochmal ueberarbeiten. Dazu gibt es zwei Moeglichkeiten: |
| 31 | |
Zesstra | e959e72 | 2025-07-09 22:11:16 +0200 | [diff] [blame] | 32 | 1. Ihr aendert auf der Weboberflaeche selber ("Edit" und spaeter |
| 33 | dann "Publish Edit" |
Zesstra | 16b2a15 | 2020-04-12 12:40:29 +0200 | [diff] [blame] | 34 | |
| 35 | 2. Wollt ihr bei euch lokal auf dem Rechner nur einen (den |
| 36 | letzten Commit in eurem lokalen Zweig) aendern geht das am |
| 37 | besten mit "git commit --amend". Spaetestens nach dieser |
| 38 | Aenderungen **muss** in der Commit-Message die sog. Change-ID |
| 39 | aus Gerrit als *letzte Zeile* und mit einer Leerzeile |
| 40 | getrennt auftauchen, z.B. "Change-Id: |
| 41 | Ie8fe15834a0eb3917318dc291b97a28e34b85b75". Anschliessend |
| 42 | koennt ihr wie in Schritt 4. erneut pushen und der Change in |
| 43 | Gerrit wird aktualisiert. |
| 44 | |
| 45 | 3. Wollt ihr mehrere Commits bei euch lokal auf dem Rechner |
| 46 | aendern, muesst in eurem lokalen Zweig ein sog. interaktives |
| 47 | rebase machen und in diesem dann eure Commits editieren. |
| 48 | Wechselt in euren lokalen Zweig und benutzt "git rebase -i |
| 49 | master" (dies bedeutet "setze diesen Zweig neu auf den master |
| 50 | auf und lass mich dabei Aenderungen vornehmen"). Spaetestens |
| 51 | hierbei **muss** in allen Commit-Messages die zu diesem |
| 52 | Commit passende Change-ID aus Gerrit als *letzte Zeile* und |
| 53 | mit einer Leerzeile getrennt auftauchen. Anschliessend koennt |
| 54 | ihr wie in Schritt 4. erneut pushen und alle Changes in |
| 55 | Gerrit werden aktualisiert. |
| 56 | |
| 57 | 7. Wenn die Reviewerin zufrieden ist, wird sie den Change in den |
| 58 | Zweig 'master' mergen und er landet damit im MG. |
| 59 | |
| 60 | |
| 61 | Weitere Infos |
| 62 | ============= |
| 63 | |
| 64 | Es gibt noch viele weitere Informationen, wie man Aenderungen in |
| 65 | Gerrit bekommt (z.B. kann man direkt mit dem ersten Push automatisiert |
| 66 | Reviewer fuer alle Changes festlegen, Topics und Hashtags zur |
| 67 | Kategorisierung verwenden). Es ist empfehlenswert, in die Doku von |
| 68 | Gerrit zu schauen: |
| 69 | |
| 70 | * https://mg.mud.de/gerrit/Documentation/user-upload.html |
| 71 | |
| 72 | * https://mg.mud.de/gerrit/Documentation/user- |
| 73 | upload.html#push_create |
| 74 | |
| 75 | * https://mg.mud.de/gerrit/Documentation/user- |
| 76 | upload.html#push_replace |
| 77 | |
| 78 | Mehr Informationen ueber die Change-ID bekommt ihr hier: |
| 79 | https://mg.mud.de/gerrit/Documentation/user-changeid.html |
| 80 | |
| 81 | Ihr koennt git auch beibringen, dass in alle eure Commit-Messages die |
| 82 | sog. Change-ID automatisch ergaenzt wird, in dem ihr einen 'commit- |
| 83 | msg' hook aus Gerrit in euerem Repository installiert: "scp -p -P |
| 84 | 29418 <user>@mg.mud.de:hooks/commit-msg .git/hooks/" Details bekommt |
| 85 | ihr hier: https://mg.mud.de/gerrit/Documentation/user- |
| 86 | changeid.html#creation |
| 87 | |
| 88 | Die Doku geht auch auf haeufige Taetigkeiten im Zusammenhang mit dem |
| 89 | Upload von Aenderungen ein: https://mg.mud.de/gerrit/Documentation |
| 90 | /user-changeid.html#_git_tasks |
| 91 | |
| 92 | |
| 93 | Siehe auch |
| 94 | ========== |
| 95 | |
| 96 | * gerrit |
| 97 | |
| 98 | * Doku von Gerrit: |
| 99 | |
| 100 | * https://mg.mud.de/gerrit/Documentation/intro-user.html |
| 101 | |
| 102 | * https://mg.mud.de/gerrit/Documentation/index.html#_tutorials |
| 103 | |
| 104 | * git-howto: Wie git benutzt wird |
| 105 | |
| 106 | * git-workflow: Wie man sinnvoll vorgehen kann beim Entwickeln |
| 107 | |
| 108 | * git-kooperation: Ein ueber git-workflow hinausgehendes Beispiel |
| 109 | zur Synchronisation bzw Kooperation mehrerer Magier/Rechner |
| 110 | |
| 111 | * gerrit-sync: Wie die Synchronisierung zw. git-Repos und Mudlib |
| 112 | ablaeuft |
| 113 | |
| 114 | * git-faq: haeufig gestellte Fragen/Probleme |