質問

確かではありませんが、「Issue 4」またはタイトルの何かを使用してGitHub Pullリクエストを作成するという漠然としたメモリがあります。私は最近もう一度試しましたが、うまくいきませんでした - 代わりにまったく新しい問題を作成しました。新しいプルリクエストページに「問題に添付」などのオプションはありません。また、問題ページに「この問題の新しいプルリクエストを開く」も表示されません。これを行うには、プロジェクトの所有者が問題のページを清潔に保ち、重複を避けるために、これを行う方法はありますか?

編集: :明確にするために、プルリクエストを作成すると常に作成されることがわかります 新着 問題。代わりにプルリクエストを添付したい 既存 問題。

役に立ちましたか?

解決

「ハブ」プロジェクトはこれを行うことができます:

https://github.com/defunkt/hub

リポジトリとブランチでは、次のようなプルリクエストを送信します。

$ hub pull-request -i 4

これにより、GitHub APIを使用し、現在のブランチのプル要求を既存の問題番号4に添付します。


編集: @atomiculesによるコメント:@michaelmiorによる答えを展開するには、完全な例は次のとおりです。

$ hub pull-request -i 4 -b USERNAME_OF_UPSTREAM_OWNER:UPSTREAM_BRANCH -h YOUR_USERNAME:YOUR_BRANCH URL_TO_ISSUE

他のヒント

既存の上流の問題にプルリクエストを追加するのは簡単です 通常のgithub平均を使用してフォークされていると仮定します.

任意のいずれかを使用して、コミットメッセージの問題を参照するだけです サポートされているキーワード:

  • 選ぶ
  • 閉じます
  • 閉まっている
  • 修理
  • 修正
  • 修繕
  • 解決
  • 解決します
  • 解決しました

たとえば、「このコミットは#116を修正します」

問題を参照するテキストは、コミットの件名に表示する必要はありません。

コミットをGitHubリポジトリに押してください。プルリクエストは自動的に問題に追加されます。

注:必須ではありませんが、その問題に固有の別のブランチへのプル要求の一部となるものをコミットすることを強くお勧めします。 )。そのため、別のブランチを作成しなかった場合、マスターに残してから開発を続け、マスターへの無関係なコミットがすべてプルリクエストに追加されます。

既存の問題からプルリクエストを作成できます リクエストAPIをプルします:

$ curl --user "smparkes" \
       --request POST \
       --data '{"issue": 15, "head": "smparkes:synchrony", "base": "master"}' \
       https://api.github.com/repos/technoweenie/faraday/pulls

これにより、プルリクエストが作成されます。

  • 聞く technoweenie プロジェクトで faraday (https://api.github.com/repos/Technoweenie/ファラデー/プル)
  • から引っ張る synchrony ブランチイン smparkes'fork( "head": "smparkes:同期")
  • master ブランチイン technoweenie's fork( "base": "主人")
  • プルリクエストを発行15に添付します(「問題」: 15)
  • プルリクエスト著者と smparkes ( - ユーザー」smparkes")
  • GitHubパスワードの準備が求められます

別の可能なツールはです Issue2PRウェブサイト それはあなたの問題をプル要求に変えます。

とてもシンプルで効果的です!

enter image description here

資力:

この他の答え 使用方法を説明します カール (curl)問題からのプル要求を作成するには Github API. 。これを使用する方法は次のとおりです httpie (http)、読みやすく、編集しやすいコマンドを生成します。

$ http --auth "<your-GitHub-username>" \
       POST \
       https://api.github.com/repos/<issue-repo-owner>/<issue-repo-name>/pulls \
       issue=<issue-number> head=<your-GitHub-username>:<your-fork-branch-name> base=<issue-repo-branch-name>

次に、プロンプトが表示されたときにgithubパスワードを入力します。

説明した例

ユーザー名でgithubにログインしました smparkes およびパスワード Hunter2. 。あなたが見た Technoweenie's repo ファラデー, 、変更されるべきものについて考え、そのレポで問題を遂げました、 問題 #15. 。後で、あなたは他の誰もあなたの提案された変化を起こしたことがあり、あなた自身でそれをする時間もあります。君 フォーク ファラデー あなた自身のアカウントに, 、その変更を書いて、名前のある枝の下のフォークにそれらを押します 同期. 。あなたは考える Technoweenie これらの変更をに引く必要があります 主人 彼のレポのブランチ。これは、前の号をこの状況のプルリクエストに変換するために書くコマンドです。

$ http --auth "smparkes" \
       POST \
       https://api.github.com/repos/technoweenie/faraday/pulls \
       issue=15 head=smparkes:synchrony base=master
http: password for smparkes@api.github.com: hunter2

問題 #15 プルリクエストです。

GitHubで2-Factor-Authを使用する場合は、リクエストのヘッダーとしてAuthTokenを提供する必要があります。

curl -u "<your_username>:<your_pw>" \
     --header 'X-GitHub-OTP: <your_authtoken>' \
     --request POST \
     --data '{"issue":"<issue_nr>", "head":"<your_username>:<your_forks_branchname>", "base":"<upstream_branch>"}' \
     https://api.github.com/repos/<upstream_user>/<upstream_repo>/pulls

使用することもできます Gub 問題のプルリクエストを提出する。

また、適切なフォーク/プルレクエストスタイルを使用するのにも役立ちます。

編集:2013年10月5日

GUBに問題#123のPull-Requestを提出するには、以下を実行する必要があります。

$ gub start 123

これにより、新しいBranch Issue-123が作成されます。問題の作業が終わったら、実行してください。

$ gub finish

出来上がり!

注:私はGub Gemの著者です。

を使用して git-hub ツール、あなたはこれを行うことができます:

$> git hub pull attach 123

これにより、問題#123をプルリクエスト#123に変換し、1つの場所で問題に関するすべての議論を維持します。

2FAを有効にしている場合は、httpieを使用してpass the tokenを使用できます。

http POST \
    https://api.github.com/repos/<repo-owner>/<repo-name>/pulls \
    issue=2 head=issue_2 base=master
    "Authorization:token PUTAUTHTOKENHERE"

これにより、ブランチが使用されます issue_2 問題#2をプルリクエストに変換します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top