Was ist der Unterschied zwischen einem Pull-Request und einem Branch?

Lesezeit: 3 Minuten

Benutzer-Avatar
SkyWalker

Im Zusammenhang mit GitHub und Atlassian-Versteck, gibt es eine gemeinsame Funktion zum Ausführen einer Pull-Anforderung. Was ist der Unterschied zwischen einem Pull-Request und einem Branch? Ein Pull Request sieht aus wie eine andere Art, eine Verzweigung aufzurufen, oder?

Eine Pull-Anforderung signalisiert, dass Sie möchten, dass einige Änderungen in Ihrem Branch mit einem Ziel-Branch zusammengeführt werden.

Ein Beispiel könnte sein, dass Sie basierend auf dem aktuellen Entwicklungszweig (z. B. „Master“) einen neuen Zweig „my-feature“ erstellen. Wenn Sie fertig sind, können Sie Ihren Zweig in das Remote-Repo verschieben und eine Pull-Anforderung von „my-feature“ an „master“ erstellen. Die Pull-Anforderung gibt den Leuten die Möglichkeit, die Änderung zu überprüfen und zu kommentieren, und Sie können als Reaktion auf das Feedback, das in der Pull-Anforderung aktualisiert wird, zusätzliche Änderungen auf denselben Zweig übertragen. Wenn der Code zum Zusammenführen geeignet ist, kann jemand die Zusammenführung auf den Master anwenden und die Pull-Anforderung wird geschlossen.

Natürlich können Sie Zweige zusammenführen, ohne zuerst einen Pull-Request zu erstellen, aber der Vorteil von Pull-Requests liegt in der Zusammenarbeit. In Stash können Sie konfigurieren, wer mit welchen Zweigen zusammengeführt werden kann, und eine bestimmte Anzahl von Builds oder Genehmigungen erfordern, bevor die Zusammenführung durchgeführt werden kann. In einer Teamumgebung trägt ein solcher Workflow dazu bei, die Codequalität und die Entwicklergeschwindigkeit zu verbessern.

  • Warum nicht pull reques Funktion benannt push request. Die Absicht ist eindeutig push Ihr Feature zum ursprünglichen Master.

    – eliu

    20. Januar 2020 um 15:34 Uhr


  • @eliu Der Name kommt davon, wie Änderungen in der Vergangenheit eingereicht wurden. Der Einsender forderte normalerweise einen Betreuer auf, seine Änderungen von einem anderen Ort einzuziehen. Obwohl dies heutzutage nicht immer der Fall ist, blieb der Name weitgehend erhalten.

    – Rog

    22. Januar 2020 um 5:43 Uhr

  • … siehe auch den git-Befehl, der dies erleichtert, wenn Pull-Requests traditionell über Mailinglisten statt über eine Anwendung erfolgen, die ein Pull-Request-Erlebnis bietet … git-scm.com/docs/git-request-pull

    – Rog

    22. Januar 2020 um 5:44 Uhr


Pull-Requests können Sie andere über Änderungen informieren, die Sie an ein GitHub-Repository gepusht haben. Sobald eine Pull-Anforderung gesendet wurde, können interessierte Parteien den Satz von Änderungen überprüfen, mögliche Änderungen diskutieren und bei Bedarf sogar Folge-Commits pushen.

Eine separate Version des Codes ist ZWEIG

Benutzer-Avatar
AlbertEngelB

Ein Zweig ist nur eine separate Version des Codes.

Eine Pull-Anfrage ist, wenn jemand das Repo nimmt, seinen eigenen Branch erstellt, einige Änderungen vornimmt und dann versucht, diesen Branch einzufügen (seine Änderungen in das Code-Repository der anderen Person zu stellen). (In den allgemeinsten Begriffen.)

Es gibt einige Workflows, die beschreiben, wie Entwickler Git verwenden. Einer von ihnen ist Feature-Branch-Workflow

Die Kernidee hinter dem Feature-Branch-Workflow ist, dass die gesamte Feature-Entwicklung in einem dedizierten Branch statt im Master-Branch stattfinden sollte.

Die Kapselung der Funktionsentwicklung ermöglicht auch die Nutzung von Pull-Requests. Ausführliches Beispiel finden Sie unter Feature Branches und Pull Requests : Walkthrough

Es gibt ein ähnliches GitHub-Standard-Fork- und Pull-Request-Workflow( oder nur Pull-Request-Workflow), wo Sie, anstatt einen Zweig in Ihrem eigenen Repository zu erstellen, einen Fork aus einem anderen Repository erstellen.

Einige Leute unterscheiden diese Konzepte nicht und verwenden die Begriffe „Feature-Branch-Workflow“ und „Pull-Request-Workflow“ synonym. Es kann für andere verwirrend sein.

1054730cookie-checkWas ist der Unterschied zwischen einem Pull-Request und einem Branch?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy