web-dev-qa-db-ja.com

GitHubで複数のプルリクエストを開く方法

GitHubでプルリクエストを開くと、前回のリクエスト以降のすべてのコミットとすべての新しいリクエストがこのリクエストに自動的に追加されます。どのコミットを追加し、どのコミットを追加しないかを制御することはできないようです。別のプルリクエストを開こうとすると、「エラー!プルリクエストが既にあります」というエラーが表示されます。コマンドラインを台無しにすることなく、複数のプルリクエストを開く簡単な方法はありますか?

126
torourke

プルリクエストはブランチに基づいています。複数のコミットのプル要求を開く唯一の方法は、それらを独自のブランチに分離し、そこからプル要求を開くことです。

103
mipadi

私が見つけた最も簡単な方法は、ハブコマンド( https://github.com/defunkt/hub )を使用することです。

プルリクエストを作成するトピックブランチ(この例では「機能」)から、次を実行できます。

git pull-request

(最初にブランチをプッシュすることを忘れないでください!)

そして、GitHubで「YOUR_USER:feature」の新しいプルリクエストを開きます。

GitHubで既に課題を作成している場合は、その既存の課題にプルリクエストを添付することもできます(Web UIからはできないこと)。

$ git pull-request -i 123
[ attached pull request to issue #123 ]
11
Tyler Rick

実際には、別のブランチを作成せずにこれを行うことができますが、少し遊ぶ必要があります。
手順は次のとおりです。

  1. プルする2つのコミット範囲を特定します。以下に例を示します。
    (その他/マスター)A-> B-> C-> D-> E(yours/master)
    1つのリクエストでBとCを、別のリクエストでD&Eをプルするとします。
  2. プルリクエストを行います。左側(「ベース」)をコミットAにします。右側(「ヘッド」)には、Cのコミット番号を入力します。
  3. 最初のリクエストの説明を書きます。
  4. 別のリクエストを行います。ベースにはCのコミット番号を入力し、ヘッドにはE(yours/master)を入力します。
  5. 説明を書きます。

私が見るように、プル要求はコミットCを分岐点と見なします。か何か。

2
Riking