【入門者向け】Gitのfetchコマンドについて図を用いて解説

  • このエントリーをはてなブックマークに追加
  • Pocket

fetchコマンドは他のリポジトリのデータを取得するものだ。

このページではfetchコマンドの使い方について入門者の方向けに解説した。参考にしていただけれと思う。

Gitのfetchコマンド

このコマンドは、リモート・リポジトリなど他のリポジトリのデータを取得するものだ。

このコマンドが実行されると、ローカルからリモート・リポジトリの最新の情報を見ることができるようにもなる。また、必要に応じてリモート・リポジトリとマージすることもできるようになる。

ただし、コマンドは他のリポジトリのデータを取得するだけで、ローカルで作業しているファイルを書き換えたりマージしたりするようなことはない。

コマンドの基本は簡単だ。

git fetch [リポジトリ]

では、実際の使い方を見てみよう。

リモート・リポジトリをfetchする場合

例えば、リモート・リポジトリをクローンしたローカルのリポジトリがあったとする。クローンした時点では、リモートと同じ内容のものがそっくりローカルにコピーされる。次の図は、V0から始まったリモートのリポジトリがV1の時点でクローンされた時の様子を表している。

クローン1

この時点までの変更の記録はローカルもリモートも同じなので、ローカルの変更履歴がリモートの変更履歴でもある。

git logコマンド1

しかし、ローカルでV1に変更を加えたV2が記録され、続いてリモートでもV1が変更されたV3が記録されるとどうなるだろう。クローンされた後は、別々に変更の記録が独立して行われることになる。

クローン2

ローカルで変更の記録を確認(git log)すると、

git logコマンド2

ローカルにはV3がないことが分かる。つまりローカルからリモートは見えない。

それで、fetchコマンドの出番だ。

リモートのリポジトリの名前は、クローンした時点で自動的にoriginという名前になっている。それで、originという名前を指定して、

$ git fetch origin

と、コマンドを叩けばOKだ。

git fetchコマンド

コマンドが実行されると、ローカルにリモート追跡のためのブランチが作られる。このブランチの名前を使ってリモートにどんな変更が記録されているかを見ることができる。

フェッチ

では、ローカルでリモートとローカルの変更の履歴を見てみよう。

リモートの変更履歴はリモート追跡のためのブランチの名前origin/masterという名前を指定して、

$ git log origin/master

と、コマンドを叩けばOKだ。

git logコマンド3

今度は、V3の変更履歴がある。

まとめ

このページではGitのfetchコマンドの使い方についてまとめてご紹介した。

リモート・リポジトリの状態を把握するために、定期的にfetchコマンドを実行しておこう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメント

コメントを残す

*

ゼロからエンジニアを目指す方へ
短期間でエンジニアになる方法

必要な勉強や技術の最新動向、本当に使えるIT資格、学習に役立つ国からの奨励金などの情報を無料でお届け

資料を見てみる