Anscheinend müssen Sie mit github.com interagieren, um eine Pull-Anfrage zu initiieren. Ist das so
Anscheinend müssen Sie mit github.com interagieren, um eine Pull-Anfrage zu initiieren. Ist das so
Antworten:
UPDATE : Der Hub- Befehl ist jetzt ein offizielles Github-Projekt und unterstützt auch das Erstellen von Pull-Anforderungen
ORIGINAL :
Scheint eine besonders nützliche Sache zu sein, um den Hub-Befehl hinzuzufügen: http://github.com/defunkt/hub oder das Github-Juwel: http://github.com/defunkt/github-gem
Ich schlage vor, ein Problem bei den Projekten einzureichen, die danach fragen. Die Github-Jungs sind ziemlich reaktionsschnell.
gh pull-request [user] [branch]
.
hub
:hub pull-request -m "message pull request" -b master -h your_branch
hub merge https://github.com/repo/pull/1
Git wird jetzt mit einem Unterbefehl ausgeliefert 'git request-pull' [-p] <start> <url> [<end>]
Sie können die Dokumente sehen hier sehen
Sie mögen dies nützlich finden, aber es ist nicht genau das gleiche wie die Funktion von GitHub .
git pull
der in Ihrer Pull-Anfrage angegebenen URLs und Zweige ausführen, um Ihre Änderungen in ihrem lokalen Klon zusammenzuführen und diese Änderungen auf Github zu übertragen.
Mit dem Hub-Befehlszeilen-Wrapper können Sie ihn mit git verknüpfen und dann tun
git pull-request
Aus der Manpage von Hub:
git pull-request [-f] [TITLE|-i ISSUE|ISSUE-URL] [-b BASE] [-h HEAD]
Opens a pull request on GitHub for the project that the "origin" remote points to. The default head of the pull request is the current branch. Both base and head of the pull request can be explicitly given in one of the following formats: "branch", "owner:branch",
"owner/repo:branch". This command will abort operation if it detects that the current topic branch has local commits that are not yet pushed to its upstream branch on the remote. To skip this check, use -f.
If TITLE is omitted, a text editor will open in which title and body of the pull request can be entered in the same manner as git commit message.
If instead of normal TITLE an issue number is given with -i, the pull request will be attached to an existing GitHub issue. Alternatively, instead of title you can paste a full URL to an issue on GitHub.
brew install hub
Dies scheint die richtige Antwort für Mac-Benutzer zu sein.
Ein Mann sucht wie ...
man git | grep pull | grep request
gibt
git request-pull <start> <url> [<end>]
Aber trotz des Namens ist es nicht das, was Sie wollen. Laut den Dokumenten:
Generieren Sie eine Anfrage, in der Ihr Upstream-Projekt aufgefordert wird, Änderungen in den Baum zu übernehmen. Die auf die Standardausgabe gedruckte Anforderung beginnt mit der Verzweigungsbeschreibung, fasst die Änderungen zusammen und gibt an, von wo sie abgerufen werden können.
@ HolgerJust erwähnte das Github-Juwel, das macht, was Sie wollen:
sudo gem install gh
gh pull-request [user] [branch]
Andere haben das offizielle hub
Paket von Github erwähnt:
sudo apt-get install hub
oder
brew install hub
dann
hub pull-request [-focp] [-b <BASE>] [-h <HEAD>]
git request-pull
Zeile. Ja, das macht Sinn, aber ich bin überrascht, dass git keinen Befehl hat, Pull-Anfragen per E-Mail zu versenden, wie es Github tut. Immerhin steht das ihm git config user.email
zur Verfügung. Besonders mit einem Befehl namens pull-request
.
github-cli
es nach Precise nicht mehr verfügbar zu sein ... Ich habe eine Frage geöffnet , um nach einer Alternative zu fragen.
Am Ende habe ich meine eigenen gemacht und finde, dass es besser funktioniert als die anderen Lösungen, die es gab.
Ich habe kürzlich ein Tool erstellt, das genau das tut, was Sie wollen:
https://github.com/jd/git-pull-request
Es automatisiert alles in einem einzigen Befehl, gabelt das Repo, drückt die PR usw. Es unterstützt auch die Aktualisierung der PR, wenn Sie sie bearbeiten / reparieren müssen!
Ich verwende einen einfachen Alias, um eine Pull-Anfrage zu erstellen.
alias pr='open -n -a "Google Chrome" --args "https://github.com/user/repo/compare/pre-master...nawarkhede:$(git_current_branch)\?expand\=1"'
Darüber hinaus haben Sie jetzt (Februar 2020) github/hub
, was als Proxy für Git fungiertcli/cli
:
Siehe " Laden Sie Ihre Befehlszeilenerfahrung auf: GitHub CLI ist jetzt in der Beta "
Erstellen Sie eine Pull-Anfrage
Erstellen Sie einen Zweig, führen Sie mehrere Commits durch, um den im Problem beschriebenen Fehler zu beheben, und erstellen Sie mit gh eine Pull-Anforderung, um Ihren Beitrag zu teilen.
Durch die Verwendung der GitHub-CLI zum Erstellen von Pull-Anforderungen wird automatisch eine Verzweigung erstellt, wenn Sie noch keine haben. Außerdem wird Ihr Zweig verschoben und Ihre Pull-Anforderung erstellt, damit Ihre Änderung zusammengeführt wird.
Und im April 2020: " GitHub CLI unterstützt jetzt das automatische Ausfüllen von Pull-Anforderungen und die benutzerdefinierte Konfiguration. "
GitHub CLI 0.7 ist mit einigen der am häufigsten nachgefragten Verbesserungen aufgrund des Feedbacks unserer Beta-Benutzer erhältlich.
Seit der letzten Nebenversion 0.6 gibt es drei Hauptmerkmale:
- Konfigurieren Sie
gh
die Verwendung Ihres bevorzugten Editors mitgh config set editor [editor]
.- Konfigurieren Sie
gh
standardmäßig SSH mitgh config set git_protocol ssh
.
Das Standard-Git-Protokoll ist HTTPS.- Füllen Sie den Titel und den Text einer Pull-Anfrage aus Ihren Commits automatisch mit aus
gh pr create --fill
.
So:
gh pr create --fill
Ich habe dieses Tool bereits verwendet - obwohl es den Anschein hat, dass zuerst ein Problem offen sein muss, ist es sehr nützlich und rationalisiert den Workflow wirklich, wenn Sie die Github-Problemverfolgung verwenden. git open-pull und dann wird eine Pull-Anfrage von jedem Zweig gesendet, in dem Sie sich befinden oder den Sie auswählen. https://github.com/jehiah/git-open-pull
BEARBEITEN: Sieht so aus, als könnten Sie Probleme im laufenden Betrieb erstellen, daher ist dieses Tool eine gute Lösung.