Ein pull request ist eine Bitte, eine Reihe von Änderungen einzuspielen. Die Arbeitsweise läuft meist wie folgt:
git branch fix-foo-bar
. Für ganz einfache Änderungen braucht ihr das nicht unbedingt. Wer bereits erstellte commits umändern will, muss etwas tricksen.Pull Request
-Button und gibt eine Nachricht ein.Die Nachricht eines pull-Requests sollte aus folgenden Informationen bestehen:
Korrigiere foo.bar, wenn baz passiert
). Der Titel ist eine Kurzform davon (Korrigiere foo.bar
).Wenn baz in einer Vollmondnacht gilt und foo zwei Anfragen kurz hintereinander bekommt, wird in foo.bar der Zugriff nicht richtig serialisiert.
Geänderte Dateien: foo/bar.h, foo/bar.c / foo/bar/README, foo/components.c, foo/util.h
Diese Information wird automatisch generiert. Klickt einfach auf diff, um sie selber zu sehen.
Titel: Issue #42 Text: #42
Der pull request sollte allein aussagekräftig sein.
Titel: Die bar-Komponente in foo ist manchmal fehlerhaft. Dieser pull request fix... Text: ...t sie, wenn baz eintritt.
Titel und Text müssen alleine aussagekräftig sein. Nicht jeder liest sie zusammen.
Titel: Korrigiere bar-Komponente Text: Dieser pull request korrigiert foo.bar, wenn baz passiert. Außerdem wird der bug #42 (Fehler beim Aufbauen der Netzwerkverbindung) gelöst Weiterhin wird in der xy-Komponente jetzt facebook unterstützt
Ein pull Request sollte ein Thema haben. Erstelle mehrere Branches (mit [code]git checkout -b[/code]) für mehrere Änderungen.
Manche Projekte (wie z.B. lxc) wollen lieber diffs haben. Dafür erstellt man einen oder mehrere git-commits mit der Option -s
und ruft dann git format-patch
auf:
# Änderungen im Editor machen git ci -a -s -m 'Fixed stuff' git format-patch -n HEAD^
Der Patch ist dann in der Datei 0001-fixed-stuff.patch
.