プルリクエストとは正確には何ですか?

これは私の前の質問から分岐しました:オープンソースプロジェクトに貢献できる人を選択できますか?

これまでオープンソースソフトウェアに取り組んだことがなく、今年の夏にApp Storeにリリースしたいと思っている独自のミニアプリケーションを開発しているので、ほとんどのオープンソースの方法にまったく慣れていません。開発構造が設定されています(フォーク、メインリポジトリ…)。

ポップアップしたものの1つは、プルリクエストの言及でした。プルリクエストとは正確には何ですか?

回答

「プルリクエスト」という用語は、gitに由来し、git pullコマンドは、別のリポジトリをローカルリポジトリにマージするために使用されます。したがって、他の誰かがあなたのgitリポジトリのコピーを持っていて、それを変更した場合は、組み込むために、リポジトリから変更をpullするように依頼できます。 「pullをリクエストしているため、「プルリクエスト」という用語が使用されています。

現在、ほとんどのユーザーにとって、これはある種のグラフィカルインターフェイスの背後に隠されている傾向があります。たとえば、GithubまたはBitbucket、またはGerrit経由。ただし、原則は同じです。おそらく、「レビューした後」に、誰かがリポジトリをコピーし、変更を加えて、自分のコピーにマージするように要求します。

コメント

  • Gitには git request-pull コマンドもあります。これにより、送信可能なメッセージが生成されます。他の誰かが、git pullを使用してあなたの作業をソフトウェアのコピーに組み込むように招待しています。
  • 初心者にはこれ以上明確に説明することはできません。

回答

分散バージョンコントロールシステムを使用している場合は、すべての開発者は完全なリポジトリのコピーを持っています。ソフトウェアに何かを変更した場合は、ローカルリポジトリに変更をコミットします。別のリポジトリにこれらの変更が必要な場合は、変更をプッシュできます(適切な別のリポジトリに変更を移動します)。書き込む)または変更をプルする(リビジョンをコピーする) m他のリポジトリを独自に)。多くのプロジェクトにはメインリポジトリがあるため、プルリクエストはメンテナが変更をプルするリクエストです。

を少し読んでいます、あるユーザーがプロジェクトのメインブランチに自分のパッチを含めるように要求した場合、この用語は非分散バージョン管理でも使用されているようです。特にgithubの別の読み物: https://help.github.com/articles/using-pull-requests/

回答

プルリクエストはバージョン管理システムに関連しています。複数のユーザーセットが存在する場合があります。

  • 管理者/所有者
  • 寄稿者
  • テスター

必要なユーザーこれらの人々はそれぞれ異なることを行うことができます:

  • 管理者/所有者
    これらの人々は信頼できます。必要なときに必要なものをコミットする完全な権限を含め、問題のリポジトリへの完全なアクセス権を持っている可能性があります。
  • 寄稿者
    これらはインターネットからのランダムな人々かもしれません。彼らは会社のより少ない人々かもしれません。いずれにせよ、おそらくコードベースに直接コミットできないようにする必要があります。最初に変更を確認する必要があります。

ここでプルリクエストが送信されます。許可する代わりに、コントリビューターからコードベースに直接変更を加えると、代わりにリポジトリをフォークして、ローカルマシンにコピーを作成し、それを開発します。コントリビューターが完了すると、更新されたプルリクエストを作成できます。コード。上位グループの誰かが、変更の正確性と標準への準拠を確認し、準拠している場合は変更をマージできます。

コメント

回答

プルリクエスト(PR)は、オープンな開発プロジェクトに貢献を送信する方法です。これは、開発者が外部リポジトリにコミットされた変更を、ピアレビュー後にプロジェクトのメインリポジトリに含めることを検討するように要求した場合に発生します。

出典: OSSウォッチのプルリクエストとは

簡単な例 オープンソースリポジトリのクローンを作成/フォークし、いくつかの変更/コミットを実行し、変更をメインリポジトリにマージするには、すべてのコミットを1つの論理部分にグループ化したプルリクエストを送信する必要があります。 他の開発者によるレビュー。

これには、チェックする追加の目があり、一般的な/隠れた問題を回避するため、標準のコミットやプッシュよりもいくつかの利点があります/ 実際の変更前の間違い

いくつかのPRの例を参照してください:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です