最近、SVNからGitに移行しました。 LANネットワークの1台のマシンにベアリポジトリをセットアップし、他のマシンにクローンを作成しました。誰もが変更とコミットを行うとき、私たちは彼がプルリクエストをベアレポジトリに(送信または電子メールまたは他の方法で)送信した後、変更を行ってベアリポジトリにプルするようにしますGitHub)。
インターフェイスをインストールする必要がありますか、またはGit自体にいくつかのコマンドがありますか?
Git(ソフトウェア)とGitHub(Webサービス)の両方に「プルリクエスト」と呼ばれる概念がありますが、残念ながらそれらはまったく同じものではありません。
ネイティブGit request-pull
コマンドには、非常に短い マニュアルページ があり、次の1文の説明があります。
2つのコミット間の変更を標準出力に要約し、指定されたURLを生成された要約に含めます。
これは、メーリングリストへの投稿に適した短い変更の要約を生成するかなり低レベルのコマンドです。他のユーザーは、この「プルリクエスト」で公開されたURLを使用して、自分のリポジトリに変更を手動でプルできます。
GitHub Webサービス を使用する場合、 Pull Request はフル機能のインタラクティブなコラボレーションツールです。 GitHubプルリクエストには以下が含まれます。
Linusは自分の意見を持っています これら2つの機能の相対的な有用性については注目に値します。
上記の2つの「プルリクエスト」機能は、精神的には似ていますが、実装がまったく異なります。特に、git request-pull
コマンドを使用して、GitHubで新しいプルリクエストを作成することはできません。 「プルリクエスト」タイプの機能をサポートする場合、いくつかの選択肢があります。
git request-pull
およびメーリングリスト。この方法を使用するには、メーリングリストのメッセージを置き忘れたり、誤って処理したりするのが簡単であるため、エンジニアによるより多くの訓練が必要です。この方法に関連する中央の説明責任はありません。「プルリクエスト」という用語は、notgithub固有の用語です。
Git request-pullコマンドがあります。詳細についてはこちらをご覧ください: http://linux.die.net/man/1/git-request-pull
いくつかの詳細な説明については、いくつかのグーグルの外観を保存してください:
これは、新機能のところではありません。
EDIT:この代替回答は、@ Greg Hewgillが最初に受け入れた回答が書き換えられる前に作成されました。これは私が探していた答えであるため、私はそれを投稿しました。それは、githubを使用していないユーザーにプルリクエストを行うことについて尋ねた質問に合ったと思います(はい、少なくとも常にgitを使用しているすべての人がgithubを使用しているわけではありません)。元の回答が書き直されてこの違いが明確になったので、この回答を記録のために元々投稿した方法のままにします。
これを行う「gitの方法」は、すべての開発者がサーバー上に独自の公開ベアリポジトリ(すべてのアクセス権を読み取り、開発者自身のアクセス権を書き込む)を「Origin」として持つことです。また、追加の「トランク」(または「安定した」またはそれを何でも呼びたい)が必要な場合は、一部またはすべての開発者が書き込みアクセスできるリポジトリを公開します。開発者は自分のリポジトリを公開リポジトリにミラーリングし、他の開発者からプルします。そうすれば、まだ機能しないパブリックリポジトリに何かをプッシュしても心配する必要はありません。 (開発者はあなたからテストブランチに引っ張って、それが機能するかどうかを見ることができます。)安定した標準ブランチがある場合、それを「トランク」レポジトリにプッシュできます。