web-dev-qa-db-ja.com

ローカルブランチからリモートマスターへのgit request-pull

分散ソフトウェア開発でのコラボレーションのためのgithubプルリクエスト方式が大好きです。それは議論とコードレビューを可能にします。

私の目標は、同じフローを使用することですが、githubなしでリポジトリ内で使用します。プロジェクトをフォークしたくありません。

想像してみてください。私は素晴らしい機能をローカルで開発しています。そして、コードレビューを強制するために私のマスターブランチでプルリクエストを作成したいと思います。

  A---B---C feature/awesomeFeature
 /
D---E---F---G Origin/master
              master

Origin /マスターでプルリクエストを行うことは可能ですか?

私は試した git request-pull feature/awesomeFeature Origin成功せず

22

機能ブランチをローカルで開発した場合は、次のものを使用する必要があります。

git request-pull Origin/master feature/awesomeFeature

これは、変更の概要のみを提供します。すべての詳細が必要な場合は、コマンドラインに-p(パッチ用)を追加してください。

31
ArnaudR

プルリクエストは実際にはgit自体に実装されていないため、gitの上に配置する別のシステムが必要になります。自分でリポジトリをホストする場合は、 GitLab などのソフトウェアを使用してリポジトリを管理し、プルリクエストを実行できます。

5
Adam H

_Origin/master_でプルリクエストを行うことは可能ですか?

_Origin/master_が有効なブランチである限り、はい。

ただし、Git 2.23(2019年第3四半期)では、「_git request-pull_」は、ローカルリポジトリと公開されたリポジトリでプルするように要求する参照が異なる場合に警告するようになりました。

Paolo Bonzini(bonzini による commit 045422commit 5731dfc (2019年5月28日)を参照してください。
Junio C Hamano-gitster- によってマージ commit dedc046 、2019年6月17日)

_request-pull_:リモートオブジェクトがローカルオブジェクトと同じでない場合に警告する

場合によっては、_git request-pull_は、同じコミットを指しているにもかかわらず、異なるリモートオブジェクトとローカルオブジェクトで呼び出されることがあります。
たとえば、リモートオブジェクトは、軽量タグとローカル側の注釈付きタグの場合があります。または、ユーザーがタグをローカルで書き換え、プッシュするのを忘れた可能性があります。

これが発生した場合、「_git-request-pull_」がローカルコミット(スクリプトでは_git ls-remote_と呼ばれる)に一致するSHA1を返すことのみを確認するため、_$headrev_は警告しません。

このパッチは、「_git-request-pull_」出力の処理中に_git ls-remote_がタグオブジェクトSHA1を取得するようにし、ローカルオブジェクトと照合できるようにします。

0
VonC