web-dev-qa-db-ja.com

プルリクエストとマージリクエスト

プルリクエストとマージリクエストの違いは何ですか。

GithubではPull Request、GitLabではMerge Request ...両者に違いはありますか?

325
Pacane

GitLabの "マージリクエスト" featureはGitHubの "pull request" featureと同等です。どちらも別のブランチやフォークからの変更をあなたのブランチに引き込み、その変更を既存のコードとマージする手段です。これらはコードレビューや変更管理に役立つツールです。

GitLabからの の記事 は、機能の命名の違いについて説明しています。

マージまたはプルリクエストはgit管理アプリケーションで作成され、割り当てられた人に2つのブランチをマージするよう依頼します。 GitHubやBitbucketなどのツールは、最初の手動操作で機能ブランチを取得することになるので、名前の取得要求を選択します。 GitLabやGitoriousなどのツールは、名前のマージ要求を選択します。これが譲受人に要求される最後のアクションだからです。この記事では、それらをマージ要求と呼びます。

"マージ要求"を git merge コマンドと混同しないでください。 "pull request"を git pull コマンドと混同しないでください。両方のgitコマンドは、プルリクエストとマージリクエストの両方で裏で使用されていますが、マージ/プルリクエストはこれら2つのコマンドよりもはるかに広いトピックを参照しています。

573
gilly3

彼らは同じ機能です

マージまたはプルリクエストはgit管理アプリケーションで作成され、割り当てられた人に2つのブランチをマージするよう依頼します。 GitHubやBitbucketなどのツールは、最初の手動操作で機能ブランチを取得することになるので、名前の取得要求を選択します。 GitLabやGitoriousなどのツールは、それが譲受人に要求される最後のアクションであるため、名前マージ要求を選択します。この記事では、それらをマージリクエストと呼びます。

- https://about.gitlab.com/2014/09/29/gitlab-flow/ /

41
rneves

私の観点では、それらは同じアクティビティを意味しますが、異なる視点からのものです。

それについて考えてみましょう。アリスは、ボブのリポジトリBから分岐したリポジトリAでいくつかのコミットを行います。

アリスが自分の変更をBに「マージ」したい場合、実際にボブにこれらの変更をAから「プル」したいのです。

したがって、アリスの観点からは、それは「マージ要求」であり、ボブはそれを「プル要求」と見なします。

4
K. Symbol

GitLab 12.1(2019年7月)には違いがあります:

" 機密問題のリクエストのマージ "

セキュリティの脆弱性などの機密問題を議論、計画、解決する場合、Gitリポジトリが公開されているため、オープンソースプロジェクトの効率を維持することは特に困難です。

https://about.gitlab.com/images/12_1/mr-confidential.png

12.1の時点で、パブリックプロジェクトの機密問題は、秘密のマージリクエストの作成ボタンを使用して合理化されたワークフロー内で解決できるようになりました。これにより、プロジェクトのプライベートフォークでマージリクエストを作成できます。

Confidential issues from issue 5858 」を参照してください。

GitHubにも同様の機能がありますが、「maintainer security advisory」と呼ばれる特別なプライベートフォークの作成が含まれます。

2
VonC