GitHubの既存の問題に新しいプルリクエストをどのように添付しますか?
-
13-10-2019 - |
質問
確かではありませんが、「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パスワードの準備が求められます
この他の答え 使用方法を説明します カール (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をプルリクエストに変換します。