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