fv17の日記

Webエンジニアの備忘用ブログです。主にWeb界隈の技術に関して書いています。

Git - リモートの最新情報をローカルに反映する(fetchとpull)

リモート(GIthubなど)から最新情報を取得し、それをローカルに反映させるには2つの方法がある。一つがfetchでもう一つがpull。

fetch

fetchはリモートリポジトリからローカルリポジトリに最新情報を取得する。
この時、ワークツリー(ローカルで実装しているファイルが置いてあるところ)は更新されない。

git fetch <リモートリポジトリの名称>
git fetch origin

ワークツリーに反映させたい場合はmergeコマンド
下記はmasterブランチを最新にしたい場合で、originのあとにスラッシュが必要

git merge <リモートリポジトリ名称>/<ブランチ名称>
git merge origin/master

pull

pullはリモートリポジトリからローカルリポジトリに最新情報を取得した上で、ワークツリーにもその情報を反映する。つまり、fetchしてmergeするのを一括で実行してくれる。

git pull <リモートリポジトリ名称> <ブランチ名称>
git pull origin master

pullする時の注意点

pullの挙動は、現在自分がいるローカルのブランチに指定したリポートリポジトリをmergeしようとするため、git pullする前には必ずローカルのブランチを適切なものに変更しておくこと。