739 Stimmen

Warum wird eine Git-"Pull-Anfrage" nicht als "Push-Anfrage" bezeichnet?

Die Terminologie, die verwendet wird, um einen Branch mit einem offiziellen Repository zusammenzuführen, ist ein 'Pull-Request'. Das ist verwirrend, da es so aussieht, als würde ich darum bitten, meine Änderungen in das offizielle Repository zu übertragen.

Warum wird es als ein Pull-Request bezeichnet und nicht als ein Push-Request?

1voto

e1985t Punkte 21

Ich denke, man muss es im Hinblick auf das kollaborative Entwicklungsmodell betrachten, das sie verwenden.

Wenn Sie in einem Fork- und Push-Modell arbeiten, bei dem nur ein Betreuer Ihre Änderungen genehmigen und sie in den Hauptzweig ziehen darf. Sie können es als Pull-Request bezeichnen.

Aber was ist, wenn Sie in einem Modell eines gemeinsam genutzten Repository arbeiten, in dem Sie möglicherweise tatsächlich diejenige sind, die Ihre Änderungen nach Genehmigung durch andere in den Hauptzweig überführt. Dann sind Sie meiner Meinung nach berechtigt, es als Push-Request zu betrachten.

Also, obwohl es nicht falsch erscheinen mag, es als Push-Request zu betrachten, scheint es die meiste Zeit ein Pull-Request zu sein. Vielleicht bevorzugen sie es, keine 2 verschiedenen Begriffe für die beiden engen Konzepte zu verwenden oder sie haben einfach den Pull-Request im Fork- und Push-Modell benannt und sich nicht um das andere gekümmert.

Ich stimme jedoch mit U007D's Kommentar überein, wo er sagte, dass der alternative Name Merge-Request für beide Konzepte geeigneter ist.

0voto

Michael Pauli Punkte 51

Ich denke, dass es eine lächerliche Terminologie ist, weil ich denken will, dass ich etwas zu dir schieben will und nicht umgekehrt daran denken, jemand anderen zu bitten, meine Ergänzungen zu ziehen. Daher sollte es in PUSH REQ. geändert werden, da ich die aktive Partei bin. Der Pfeil zeigt in die andere Richtung und beginnt mit mir und nicht mit dem Goofy am anderen Ende. IMHO.

0voto

Jin Lim Punkte 1298

Denk so. Lokales Repository vs Entferntes Repository.

  • Wenn du vom Lokalen Pushst. (git push) - mit anderen Worten, das Entfernte Repository holt Codes von dir (Lokal).

Du bittest um etwas. Also frage dich selbst,

  • Möchtest du, dass das Entfernte Repository Codes von dir holt? - Pull Request.

0voto

Ying n Yang Punkte 89

Eine Git-Pull bedeutet, dass ich aus dem Repository ziehe.

Ein Git-Push bedeutet, dass ich in das Repository schiebe.

Ein Pull-Request würde natürlich folgen, dass ich den Repo-Besitzer frage, ob ich aus ihrem Repository ziehen kann, oder?

Falsch, ein Pull-Request bedeutet, dass ich darum bitte, in ein Repository zu (im Wesentlichen) schieben.

Die vermeintliche Logik dahinter ist, dass das Repository jetzt im Grunde der Eigentümer des Befehls ist. Aber wenn das der Fall ist, dann würde es folgen, dass das Abrufen von Code aus einem Repository durch ein git push durchgeführt wird. Denn wenn das Repository der Eigentümer ist, dann ist es allein verantwortlich dafür, den Code herauszuschieben. Aber nein. Inkonsistenz ist der Schlüssel.

Die anerkannte Antwort besagt, dass "schieben" klingt, als ob man die Änderungen dem Repository aufzwingt, aber das ergibt null Sinn, denn man verliert aus den Augen, dass es eine ANFRAGE ist. Eine Anfrage, durch ihre Natur, wird auf nichts erzwungen.

0voto

ferraro Punkte 332

Denken Sie aus der Sicht der Repo-Seite !! Pull-Anforderung - Das bedeutet, Git wird dem Repository sagen, dass Sie etwas außerhalb haben, das hereingelassen werden soll. Aus der Sicht des Repositories ist es also ein Pull, also ist es eine Pull-Anforderung.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X