他の人のリポジトリからリモートブランチを取得する方法 質問する

他の人のリポジトリからリモートブランチを取得する方法 質問する

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

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

次のように仮定します。

  1. 彼らは私のプロジェクトをフォークしたので、両方のリポジトリは同じ「履歴」を共有しています
  2. GitHub では、相手のプロジェクトが私のプロジェクトからフォークされたと表示されますが、私のローカル リポジトリにはこの人のプロジェクトへの参照がありません。相手のプロジェクトをリモートとして追加する必要がありますか?
  3. 「foo」というブランチはまだありません。最初にこれを手動で作成する必要があるかどうかはわかりません。
  4. これをマスターではなく別のブランチにプルすることを強くお勧めします。

ベストアンサー1

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

コメントへの返信:

いいですね :) そして、そのブランチに独自の変更を加えたい場合は、「foo」から 2 番目のローカル ブランチ「bar」を作成し、直接「foo」で作業するのではなく、そこで作業する必要がありますか?

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

git branch --set-upstream foo colin/foo

colinリポジトリ(同僚のリポジトリのリモート)も同様に定義されていると仮定します。

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

おすすめ記事