大体そんなもん diary

読んでみて「まぁ、大体そんなもん」程度の理解をしていただけるように書いていくつもりです。深く知りたい方はそっとお戻りください。

【Git】pullするのやめませんか?【大体そんなもん】

【Git】pullするのやめませんか?【大体そんなもん】

                                              • -

始めましての方、初めまして。
それ以外の方、私だ こんにちは。

f:id:Remora:20191025205922j:plain
閲覧ありがとうございます。

この記事を読んでできること。
pullとfetchの使い分けが理解できる

┓作業の流れ┓


話が脱線しないように頑張ります。
では、行ってみよー!
f:id:Remora:20191025210502j:plain

fetch(フェッチ)ってなに。

 Gitを使用するうえで、リポジトリはリモートとローカルの2つある事はご存じですね???
 fetchとはリモートリポジトリから最新情報をローカルリポジトリに持ってくるコマンドです。
 

pull(プル)ってなに。

 リモートリポジトリから最新情報をローカルリポジトリに持ってくるコマンドです。

......同じやんけ。
f:id:Remora:20191026000609j:plain

説明文は同じですが、実は「Fetch」と「Pull」は実行すると挙動が違うんです。

違いは?

 pullは「fetch + merge」を実行した結果になります。

違いについてもうちょい詳しく。

 Gitではブランチが大きく分けて3種類あります。
  1.リモートブランチ
  2.トラッキングブランチ(追跡ブランチ。とも言います。)
  3.ローカルブランチ
 
 fetchは、「トラッキングブランチ(追跡ブランチ)」に対して反映させます。
 pullは、「ローカルブランチ」に対して反映させます。

図解してみました。

【fetchの場合】
背景がピンク:「トラッキングブランチ(追跡ブランチ)」

f:id:Remora:20191031234505g:plain
fetch

【pullの場合】
背景がピンク:「トラッキングブランチ(追跡ブランチ)」

f:id:Remora:20191031234317g:plain
pull


と、いう感じです。

え、じゃぁなんで「pull」より「fetch」使ったほうが良いの?

 分かりやすくまとまった記事で勉強させていただきました。
 参考リンク:
dqn.sakusakutto.jp

 
 確かに、「pull」を使わなければ「fetch」と「merge」で最新版を取得するので「pull」より入力する手間が増えます。
 けれども、勝手に内部的にmargeされてしまうよりかは自分の操作を再確認。できるので、私もなるべく「fetch」と「merge」を使っていきたいと思います。

因みに....

 私も色々調べている中で、「pull = fetch + merge」という文をたくさん見ました。
 情報社会な今、疑うのが常識。
 なので、疑いました。が、既に検証されていた方がいました。
 参考リンク:git pullは、fetchしてmergeするのと同じなのか? | GMOメディア エンジニアブログ




 
圧倒的他力本願な私。
皆様、さすがです。
 

お疲れ様でした。
f:id:Remora:20191026002203j:plain