web-dev-qa-db-ja.com

Gitプルとプルリクエスト

私はGitを使用するのが初めてなので、これが些細なことであればおifびします。 Githubと EGit を使用してセットアップされたプライベートリポジトリがあります。

ローカルリポジトリブランチをリモートバージョン(基本的にgit pull)と更新およびマージするには、EclipseでTeam > Pullを使用します。

mergeブランチintoをマスターブランチにするには、プルリクエストGithubで。

git pullの呼び出しとpull要求の送信の違いは何ですか?

これは、Fork and Pull共同開発モデルに関連し、コードレビューに使用されることがわかりました。私はプルリクエストの動機と有用性を理解していると思いますが、正確には何ですか?

43
Jonn

git pullを使用する場合、リモートリポジトリからあなたの変更をプルします。

プルリクエストを別のリポジトリに送信する場合、メンテナーに変更をプルするよう依頼します(多かれ少なかれthemからgit pullを使用してリポジトリ)。

あなたがそのリポジトリのメンテナーであれば、そのワークフローで2つの役割を演じているふりをすることで、少し難しくしているように見えます。開発ブランチをマスターブランチにローカルでマージし、そのマスターブランチをGitHubリポジトリに直接プッシュすることもできます。

(補足として、Gitを初めて使用する場合は、git fetchの代わりにgit mergeを使用してからgit pullを使用することをお勧めします。git pullは実質的にgit fetchgit mergeが続きますが、個別に行うことで、潜在的な競合をより適切に制御できます。)

52
Bruno

pull requestは、リポジトリのメンテナーにいくつかの変更でgit pullを要求しています(名前がすでに示唆しているように)。 GitHubは、このようなリクエストのレビューを簡単にする追加の使いやすいインターフェースを提供します。
ブランチでマージするために使用する必要はありません。ただし、canを使用できます。すべての変更をマージする準備ができているかどうかを再確認すると役立ちます。その追加の安全性が必要ない場合や必要ない場合は、git mergeブランチを単純に使用できます。


git自体にも、メーリングリストで使用するために設計されたプルリクエストを作成するコマンドがあります。 git request-pullコマンドで生成をリクエストできます。実際、このコマンドを使用していくつかのプロジェクトのプルリクエストを提出する必要があります!コマンドの出力は次のようになります( 公式gitホームページから を使用):

$ git request-pull Origin/master myfork
The following changes since commit 1edee6b1d61823a2de3b09c160d7080b8d1b3a40:
  John Smith (1):
        added a new function

are available in the git repository at:

  git://githost/simplegit.git featureA

Jessica Smith (2):
      add limit to log function
      change log output to 30 from 25

 lib/simplegit.rb |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)
7
TimWolla

Git Pull

リモートリポジトリ======>ローカルリポジトリ

git pull = Git Fetch + Git Merge

プルリクエスト

それはGithubのものです。

リモートGithubリポジトリ<========リクエストをプルする===== Githubリポジトリ

リモートgithubリポジトリのメンテナーがプルリクエストを受け入れるかどうかは彼女にかかっています。

0
Asif