1

GitHub に 4 つのコミットがあり、別の共同作業者に既にプル リクエストを送信したとします。しかし、これらの 4 つのコミットには 1 つのコミットがあり、共同作業者がそのファイルを受け入れたくありません。どうすればそれができますか?私が試した限りでは、(競合がなければ) 自動的にマージを表示するボタンしかなく、受け入れたいコミットを選択することはできません。

2 つ目は、Github に既に存在する 1 つのコミットがあり、別のコラボレーターにプル リクエストを送信していないことです (この場合、別のコラボレーターによってプルされていない保留中のプル リクエストがあります)。しかし、共同作業者がファイルをプルすると、私が送信しなかったコミットが自動的に含まれます。したがって、プルリクエストがここで役立つとは思いません。ただし、プル リクエストを送信しなくても、更新されたすべてのデータを取得できます。

私の主な質問は、別の共同作業者に受け入れてもらいたいコミットを選択する他の方法はありますか? 共同作業者が最初にコミット/ファイルを受け入れたくない場合があるためです。

4

1 に答える 1

2

私が試した限りでは、(競合がなければ) 自動的にマージを表示するボタンしかなく、受け入れたいコミットを選択することはできません。

Git を使用して GitHub にプッシュする前にローカルでコミットするのと同じように、共同作業者がGitHub からフォークをプルし、ローカルでマージして、マージされたコミットを自分のフォークにプッシュすることを妨げるものは何もありません。

GitHub は、プル リクエストをマージするための「ショートカット」のみを追加します。それ唯一無二の方法ではありません。

あなたの質問を考えると、Git を使用する必要があります。GitHub UI は、単純なマージでのみ機能します。共同編集者には 2 つの排他的なオプションがあります。

最後のオプションは、あなたの肩に負担をかけるでしょう:

  • 最初のコミットを指すローカル ブランチを作成する
  • 興味のある残りの 2 つのコミットを選択します
  • このブランチをプッシュして、そこから新しいプル リクエストを開きます

しかし、共同作業者がファイルをプルすると、私が送信しなかったコミットが自動的に含まれます。

にコミットしているようですmaster。通常、各開発者はトピック (バグまたは新機能) ごとに 1 つのブランチを作成します。このトピックに関連するすべての作業は、このブランチで実行されます。これが完了したら、このブランチをプッシュし、そこからプル リクエストを開きます。

プル リクエストがマージされ、次にメインストリーム リポジトリからプルするときに、作業がマスター ブランチに統合されます。または、プル リクエストが拒否されたので、このトピック ブランチを削除するか、やり直すことができます。

ときどき、トピック ブランチが古すぎて競合なしでマージできない場合があります。メンテナーは、現在の HEAD の上にブランチをリベースし、この更新されたブランチでプル リクエストをリベースするように要求する場合があります。force-update

この非常に完全な投稿は、このGit ワークフローの詳細を理解するのに役立ちます。

于 2012-01-26T06:57:06.940 に答える