Frage Git Pull gegen Pull Request


Ich bin neu in der Verwendung von Git, also entschuldige ich mich, wenn das trivial ist. Ich habe ein privates Repository eingerichtet mit Github und EGit.

Zu aktualisieren und zusammenführen Mein lokaler Repository-Zweig mit der Remote-Version (im Wesentlichen a git pull), Ich benutze Team > Pull in Eclipse.

Zu verschmelzen ein Zweig in Der Masterzweig muss ich anfragen und anschließend genehmigen Anfrage ziehen auf Github.

Was ist der Unterschied zwischen Anrufen? git pull und sende ein Pull-Anfrage?

Ich habe gesehen, dass das mit a verwandt ist Gabel und ziehen kollaboratives Entwicklungsmodell und wird für Codeüberprüfungen. Ich denke, ich verstehe die Motivation und Nützlichkeit einer Pull-Anfrage, aber was genau ist das?


36
2018-03-23 00:14


Ursprung


Antworten:


Wenn du benutzt git pull, ziehen Sie die Änderungen aus dem Remote-Repository in Ihre.

Wenn Sie eine senden Pull-Anfrage In einem anderen Repository bitten Sie ihre Betreuer, Ihre Änderungen in ihre zu übernehmen (Sie fragen mehr oder weniger danach) Sie verwenden a git pull aus Ihrem Repository).

Wenn Sie der Betreuer dieses Repositorys sind, scheint es, Sie machen es ein bisschen schwieriger, indem Sie vorgeben, Sie spielen zwei Rollen in diesem Workflow. Sie können auch Ihren Entwicklungszweig lokal in Ihren Master-Zweig einbinden und diesen Master-Zweig direkt in Ihr GitHub-Repository verschieben.

(Als Randnotiz, wenn Sie Git neu sind, würde ich vorschlagen, zu verwenden git fetch und dann git merge Anstatt von git pull. git pull ist effektiv git fetch gefolgt von git merge, aber sie separat zu tun, gibt Ihnen eine bessere Kontrolle über mögliche Konflikte.)


43
2018-03-23 00:19



EIN Pull-Anfrage fordert den Betreuer eines Repositorys dazu auf git pull in einigen Änderungen (wie der Name schon sagt). GitHub bietet eine zusätzliche benutzerfreundliche Oberfläche, die die Überprüfung einer solchen Anfrage vereinfacht.
Du nicht brauchen um es in einer Verzweigung zusammenzuführen. Aber du kann verwenden Sie es und es kann hilfreich sein, erneut zu überprüfen, ob alle Änderungen für die Zusammenführung bereit sind. Wenn Sie diese zusätzliche Sicherheit nicht wollen oder brauchen, können Sie das einfach tun git merge die Branche.


git selbst hat auch einen Befehl, der eine Pull-Anfrage erstellt, die für den Einsatz in Mailinglisten gedacht ist. Sie können die Generierung mit dem anfordern git request-pull Befehl. In der Tat ist es erforderlich, eine Pull-Anforderung für einige Projekte mit diesem Befehl abzugeben! Die Ausgabe des Befehls sieht ähnlich aus (übernommen von der offiziellen Git-Homepage):

$ git request-pull origin/master myfork
The following changes since commit 1edee6b1d61823a2de3b09c160d7080b8d1b3a40:
  John Smith (1):
        added a new function

are available in the git repository at:

  git://githost/simplegit.git featureA

Jessica Smith (2):
      add limit to log function
      change log output to 30 from 25

 lib/simplegit.rb |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

4
2018-03-23 00:17