Wie erstelle und / oder sende ich eine Pull-Anfrage an ein anderes auf GitHub gehostetes Repository?
Wie erstelle und / oder sende ich eine Pull-Anfrage an ein anderes auf GitHub gehostetes Repository?
Antworten:
(Zusätzlich zur offiziellen Seite " GitHub-Hilfe" Pull-Anfragen verwenden ",
siehe auch" Forking vs. Branching in GitHub "," Was ist der Unterschied zwischen Ursprung und Upstream in GitHub ")
Angenommen, Sie haben zuerst ein Repo gegabelt , sollten Sie Folgendes in der Gabel tun, die Sie besitzen:
master
, bei der Sie versucht sein könnten, mehrere Modifikationen gleichzeitig zu akkumulieren und zu mischen .origin/master
wird die Pull-Anfrage automatisch aktualisiert , indem Sie sie zusätzlich zu (stellen Sie sicher, dass Ihr Patch noch funktioniert) neu aktualisieren (Sie müssen nicht auf etwas klicken).git remote prune origin
) sicher löschen . Die GitHub-Benutzeroberfläche schlägt vor, dass Sie Ihren Zweig auf Ihrer Pull-Request-Seite löschen.Hinweis: Informationen zum Schreiben der Pull-Anfrage selbst finden Sie unter " Schreiben der perfekten Pull-Anfrage " (Januar 2015, GitHub).
März 2016: Neue PR-Merge-Button-Option: Siehe " Github-Squash-Commits von der Weboberfläche auf Pull-Anfrage nach Überprüfung der Kommentare? ".
Der Betreuer des Repos kann merge --squash
diese PR-Commits auswählen.
In Bezug auf den letzten Punkt seit dem 10. April 2013, " Neu gestaltete Zusammenführungsschaltfläche ", wird der Zweig für Sie gelöscht:
Das Löschen von Zweigen nach dem Zusammenführen wurde ebenfalls vereinfacht.
Anstatt das Löschen mit einem zusätzlichen Schritt zu bestätigen, entfernen wir den Zweig sofort, wenn Sie ihn löschen, und stellen einen praktischen Link bereit, um den Zweig wiederherzustellen, falls Sie ihn erneut benötigen .
Dies bestätigt die bewährte Methode zum Löschen des Zweigs nach dem Zusammenführen einer Pull-Anforderung.
Pull Request ist kein offizieller "Git" Begriff.
Git verwendet den request-pull
Befehl (!) , Um eine Anforderung zum Zusammenführen zu erstellen:
Er "fasst die Änderungen zwischen zwei Festschreibungen an der Standardausgabe zusammen und nimmt die angegebene URL in die generierte Zusammenfassung auf."
Github startet seine eigene Version seit dem ersten Tag (Februar 2008) , aber neu gestaltet diese Funktion Mai 2010 , die besagt , dass:
Pull Request = Compare View + Issues + Commit comments
<humour>
Das (Pull Request) wird von GitHub nicht einmal richtig definiert!
Glücklicherweise würde eine echte Wirtschaftsnachrichtenorganisation wissen, und es gibt eine E-Note, um Pull-Replace durch 'E-Note' zu ersetzen :
Also , wenn Ihr repos o Tory eine E-Note braucht ... fragen Fox Business . Sie wissen Bescheid.
</humour>
branch
vs.- master
Entscheidung scheint kritisch zu sein, um die Antwort von my / Github von einer theoretischen Lösung auf etwas zu übertragen, das man tatsächlich verwenden würde.
git pull --rebase upstream/master
in der Tat in Ordnung.
Um zu lernen, wie man eine Pull-Anfrage stellt, habe ich gerade zwei separate Hilfeseiten auf Github befolgt (unten als Aufzählungszeichen verlinkt). Die folgenden Befehlszeilenbefehle gelten für Teil 1 . Teil 2 , die eigentliche Pull-Anfrage, wird vollständig auf der Website von Github ausgeführt.
$ git clone https://github.com/tim-peterson/dwolla-php.git
$ cd dwolla-php
$ git remote add upstream https://github.com/Dwolla/dwolla-php.git
$ git fetch upstream
// make your changes to this newly cloned, local repo
$ git add .
$ git commit -m '1st commit to dwolla'
$ git push origin master
Teil 1 : Gabel jemandes Repo: https://help.github.com/articles/fork-a-repo
git clone->cd dwolla-php->git remote->git fetch
obige Sequenz ein, um Ihre Gabel irgendwo in Ihrem Computer zu klonen (dh in diesem Fall "kopieren / einfügen" third_party TimPeterson$
) und mit dem Master-Repo (Dwolla / dwolla-php) zu synchronisieren.git add->git commit->git push
obige Sequenz ein, um Ihre Änderungen auf das Remote-Repo zu übertragen, dh auf Ihre Gabel auf Github (tim-peterson / dwolla-php).Teil 2 : Pull-Anfrage stellen: https://help.github.com/articles/using-pull-requests
Tims-MacBook-Pro:third_party TimPeterson$
weil dies ein Tutorial für Anfänger ist und diese Eingabeaufforderungen helfen, den Benutzer zu orientieren.
git fetch upstream
, brauchen Sie nicht Upstream - Änderungen mit Ihrer lokalen Kopie zu fusionieren, wobei git checkout master
dann git merge upstream/master
?
Um eine Pull-Anfrage zu stellen, müssen Sie die folgenden Schritte ausführen:
Ich habe eine Weile gebraucht, um das herauszufinden, hoffe, dass dies jemandem hilft.
Ich habe ein Projekt gestartet, um Leuten zu helfen, ihre erste GitHub-Pull-Anfrage zu stellen. Hier können Sie das praktische Tutorial durchführen, um Ihre erste PR zu erstellen
Der Workflow ist so einfach wie
git clone <clone url you copied earlier>
git checkout -b branch-name
git commit
git push origin branch-name
Compare and pull request
Schaltfläche zu sehenFür diejenigen von uns, die ein github.com-Konto haben, aber nur dann eine böse Fehlermeldung erhalten, wenn wir "git" in die Befehlszeile eingeben, erfahren Sie hier, wie Sie dies alles in Ihrem Browser tun :)
Ich habe die Anweisungen von tim peterson befolgt, aber eine lokale Niederlassung für meine Änderungen erstellt. Nach dem Drücken sah ich jedoch den neuen Zweig in GitHub nicht. Die Lösung bestand darin, -u zum Push-Befehl hinzuzufügen:
git push -u origin <branch>
tim-peterson
der 2. istDwolla
Ich habe ein Bash-Programm geschrieben, das die gesamte Arbeit zum Aufbau einer PR-Niederlassung für Sie erledigt. Bei Bedarf wird ein Forking durchgeführt, eine Synchronisierung mit dem Upstream durchgeführt, eine Upstream-Fernbedienung eingerichtet usw. Sie müssen lediglich Ihre Änderungen festschreiben, einen PR senden und einreichen.
So führen Sie es aus:
github-make-pr-branch ssh your-github-username orig_repo_user orig_repo_name new-feature
Sie finden das Programm hier und sein Repository enthält auch eine Schritt-für-Schritt-Anleitung zum manuellen Ausführen desselben Prozesses, wenn Sie verstehen möchten, wie es funktioniert, sowie zusätzliche Informationen darüber, wie Sie Ihren Feature-Zweig auf dem neuesten Stand halten können. Datum mit dem Upstream-Master und anderen nützlichen Leckerbissen.
Die einfachste GitHub-Pull-Anforderung stammt von der Weboberfläche, ohne git zu verwenden.
Klicken Sie auf das Bleistift - Symbol,
Suchen Sie in der Nähe des Speicherorts nach Text, nehmen Sie die gewünschten Änderungen vor und zeigen Sie sie zur Bestätigung in der Vorschau an. Geben Sie der vorgeschlagenen Änderung eine Beschreibung mit bis zu 50 Zeichen und optional eine erweiterte Beschreibung. Klicken Sie dann auf die Schaltfläche Dateiänderung vorschlagen .
Wenn Sie dies lesen, haben Sie keinen Schreibzugriff auf das Repository (Projektordner), sodass GitHub eine Kopie des Repositorys (eigentlich eine Zweigstelle) in Ihrem Konto erstellt. Klicken Sie auf die Schaltfläche Pull-Anforderung erstellen .