1. ホーム
  2. ギット

[解決済み】他の人のレポからリモートブランチをプルする方法

2022-03-26 17:13:13

質問

GitHubでホストされているプロジェクトがあり、誰かがそれをフォークしています。そのフォークでは、新しいブランチ "foo" が作成され、いくつかの変更が加えられています。 彼らの "foo" を、私のレポの "foo" という名前の新しいブランチにプルするには、どうすればよいのでしょうか?

彼らが私にプルリクエストを提出することは理解できますが、私はこのプロセスを自分で開始したいのです。

以下を想定してください。

  1. 私のプロジェクトをフォークしたので、私たちのレポは両方とも同じ「履歴」を共有しています。
  2. GitHub には、この人のプロジェクトが私のプロジェクトからフォークされたことが書かれていますが、私のローカルリポジトリにはこの人のプロジェクトへの言及がありません。この人のプロジェクトをリモートとして追加する必要がありますか?
  3. まだ "foo" という名前のブランチを持っていません - 最初に手動で作成する必要があるかどうかわかりません。
  4. マスターではなく、別のブランチにプルしてほしいのですが。

解決方法は?

git remote add coworker git://path/to/coworkers/repo.git
git fetch coworker
git checkout --track coworker/foo

これはローカルブランチをセットアップします foo リモートブランチを追跡する coworker/foo . そのため、同僚が何か変更を加えたとき、簡単にそれをプルすることができます。

git checkout foo
git pull


コメントへの対応

かっこいい :) そして、もし私が自分自身で そのブランチに変更を加えるには を作成し、ローカルブランチ "bar" を作成し、そこで作業します。 直接、私の "foo" に?

新しいブランチを作成する必要はありません。に直接コミットしたほうがよいでしょう。 foo を作成し、同僚にあなたのブランチをプルしてもらいましょう。しかし、そのブランチはすでに存在し、あなたのブランチ foo は、その上流ブランチとして設定する必要があります。

git branch --set-upstream foo colin/foo

仮定 colin はあなたのリポジトリ(同僚のリポジトリへのリモート)であり、同様の方法で定義されています。

git remote add colin git://path/to/colins/repo.git