【Git】git fetch と git pull の違い、どちらを使うか

当ページのリンクには広告が含まれている可能性があります。

git fetch と git pull の違い、どちらを使うかを解説します。

目次

▼ IT系の本が無料で読める!?

Kindle UnlimitedではITに関する多くの本が無料で読めます。

>>Kindle Unlimitedでどのような本が無料で読めるのか見てみる

さらにKindle Unlimitedを初めてご利用の方は、30日間無料体験が可能です。

※時期により、30日間無料体験が終了している可能性がありますので、公式サイトをご確認ください。

git fetch と git pull の違い

git fetch と git pull の違いは、「リモートリポジトリ(GitHub)の情報をローカルリポジトリに持ってくるかどうか」です。

git fetch:リモートリポジトリ(GitHub)の情報をローカルリポジトリに持ってくる

git pull :リモートリポジトリ(GitHub)の情報をローカルリポジトリとワークツリーに持ってくる

つまり

git fetch + git merge = git pull

です。ただし注意点があるので、次で解説します。

git pull の注意点

git pull の注意点は、「ローカルリポジトリとワークツリーで、どのブランチに情報が同期するのか決まり方が違うところ」です。

git fetch :指定したローカルリポジトリのブランチに情報を持ってくる
git merge:現在いるワークツリーのブランチに情報を持ってくる

git pull :指定したローカルリポジトリのブランチに情報を持ってくるが、現在いるワークツリーのブランチに情報を持ってくる

例↓

以下のコマンドを実行すると

git pull origin hoge

remotes/origin/hoge(ローカルリポジトリ)に情報を持ってくる

ワークツリーは現在いるブランチに情報を持ってくる
注)普通に考えたら ワークツリーもhogeブランチ に情報を持ってくると思うが、現在いるブランチに情報を持ってくる。

このような理由で git pull より git fetch + git merge のほうがミスが少なくなる。

git fetch + git merge と git pull どっち使う?

上記「git pullの注意点」の理由から、git fetch + git merge を使う。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

▼ IT・Web転職サービスなら【レバテックキャリア】


目次