誰かがフォークしたプロジェクトが GitHub でホストされています。フォークでは、新しいブランチ「foo」が作成され、いくつかの変更が加えられています。リポジトリ内の「foo」という名前の新しいブランチに「foo」をプルするにはどうすればよいでしょうか?
彼らが私にプルリクエストを送信できることは理解していますが、このプロセスを自分で開始したいと思います。
次のように仮定します。
- 彼らは私のプロジェクトをフォークしたので、両方のリポジトリは同じ「履歴」を共有しています
- GitHub では、相手のプロジェクトが私のプロジェクトからフォークされたと表示されますが、私のローカル リポジトリにはこの人のプロジェクトへの参照がありません。相手のプロジェクトをリモートとして追加する必要がありますか?
- 「foo」というブランチはまだありません。最初にこれを手動で作成する必要があるかどうかはわかりません。
- これをマスターではなく別のブランチにプルすることを強くお勧めします。
ベストアンサー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