Gitで他の人のブランチを取ってくる方法

最近GitHubを使って複数人で開発していて、
プルリク(プルリクエスト)送ったのでレビューお願いします的なことを言ったり言われたりしています。

しかしコードだけ見ても分からない部分もあるので、プルリクを送ってきた人のブランチを自分のローカルに持ってきたいときがあります。

そんなときの手順です。

 

前準備

一旦現状の確認をします。git管理下のディレクトリに移動し、remoteの確認を行って下さい。

たぶん以下の様な出力になるかと思います。


-> % cd your_git_dir

-> % git remote -v
origin git@github.com:XXXX/sample.git (fetch)
origin git@github.com:XXXX/sample.git (push)
your_name git@github.com:your_name/sample.git (fetch)
your_name git@github.com:your_name/sample.git (push)


originが共通レポジトリ、自分の名前で管理されているのがoriginからフェッチした自分のレポジトリ、みたいな感じです。

※会社だとgithub.comの部分は変わると思います。

ここに他の人のレポジトリを追加します。

git remote add

他の人のレポジトリを登録します。

こんな感じです。


git remote add member_name git@github.com:member_name/sample.git


これでもう一度remoteを確認すると

-> % git remote -v
origin git@github.com:XXXX/sample.git (fetch)
origin git@github.com:XXXX/sample.git (push)
your_name git@github.com:your_name/sample.git (fetch)
your_name git@github.com:your_name/sample.git (push)
member_name git@github.com:member_name/sample.git (fetch)
member_name git@github.com:member_name/sample.git (push)

こんな感じで登録できていると思われます。

git fetch

remoteからデータを取ってきます。


-> % git fetch member_name

git checkout

リモートブランチからローカルブランチを新たに作成し、チェックアウトします。

以下の様なイメージです。


$ git checkout --track -b taget_branch member_name/target_branch
Branch taeget_branch set up to track remote branch target_branch from member_name.


git branch とかで確認すると、ブランチが切り替わったのが分かると思います。

以上です。