412 Stimmen

Können Sie Pull-Requests über die Kommandozeile auf GitHub erstellen?

Es scheint, als ob man mit github.com interagieren muss, um einen Pull Request zu initiieren. Ist das so?

144voto

kanaka Punkte 66799

UPDATE : Die Nabe Befehl ist jetzt ein offizielles Github-Projekt und unterstützt auch die Erstellung von Pull-Anträge

ORIGINAL :

Das scheint eine besonders nützliche Ergänzung des Hub-Befehls zu sein: http://github.com/defunkt/hub oder das Github-Gem: http://github.com/defunkt/github-gem

Ich schlage vor, eine Anfrage an die Projekte zu richten, die dies wünschen. Die Github-Jungs sind ziemlich reaktionsschnell.

68voto

Zensaburou Punkte 785

Git wird jetzt mit einem Unterbefehl 'git request-pull' [-p] <start> <url> [<end>]

Sie können die Dokumente einsehen aquí

Vielleicht finden Sie das nützlich, aber es ist nicht genau dasselbe wie die Funktion von GitHub .

30voto

Flov Punkte 1447

Mit dem Hub-Befehlszeilen-Wrapper können Sie es mit git verknüpfen und dann können Sie 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.

25voto

hobs Punkte 16670

ANMERKUNG : Some of this answer is now outdated. (2022-01-27)
(z.B. mit dem gh Gem.)
Derzeit sind die einzigen Tools, die dies können hub y gh .


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 Unterlagen:

Erzeugen Sie eine Anfrage an Ihr Upstream-Projekt, um Änderungen in ihren Baum zu ziehen. Die Anfrage, die auf der Standardausgabe ausgegeben wird, beginnt mit der Zweigbeschreibung, fasst die Änderungen zusammen und gibt an, woher sie gezogen werden können.

@HolgerJust erwähnte das Github-Gem, das genau das tut, was Sie wollen:

sudo gem install gh 
gh pull-request [user] [branch]

Andere haben die offizielle hub Paket von github:

sudo apt-get install hub

oder

brew install hub 

dann

hub pull-request [-focp] [-b <BASE>] [-h <HEAD>]

20voto

VonC Punkte 1117238

Zusätzlich zu den github/hub die fungiert als Proxy für Git haben Sie jetzt (Februar 2020) cli/cli :

Siehe " Erweitern Sie Ihr Kommandozeilen-Erlebnis: GitHub CLI ist jetzt in der Beta-Phase "

Eine Pull-Anfrage erstellen

Erstellen Sie einen Zweig, machen Sie mehrere Übertragungen, um den im Problem beschriebenen Fehler zu beheben, und verwenden Sie gh, um eine Pull-Anfrage zu erstellen, um Ihren Beitrag zu teilen.

cli/cli pr creation  -- https://i1.wp.com/user-images.githubusercontent.com/10404068/74261506-35df4080-4cb0-11ea-9285-c41583009e6c.png?ssl=1

Durch die Verwendung von GitHub CLI zum Erstellen von Pull-Requests wird auch automatisch ein Fork erstellt, wenn Sie noch keinen haben, und es wird Ihr Zweig gepusht und Ihr Pull-Request erstellt, damit Ihre Änderung zusammengeführt wird.


Und im April 2020: " GitHub CLI unterstützt jetzt das automatische Ausfüllen von Pull Requests und benutzerdefinierte Konfiguration "

GitHub CLI 0.7 ist mit einigen der am meisten gewünschten Verbesserungen aus dem Feedback unserer Beta-Nutzer erschienen.
Seit der letzten kleineren Version, 0.6, gibt es drei Hauptmerkmale:

  • Konfigurieren Sie gh zur Verwendung Ihres bevorzugten Editors mit gh config set editor [editor] .
  • Konfigurieren Sie gh standardmäßig auf SSH mit gh 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 gh pr create --fill .

Also:

gh pr create --fill

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