【入門者向け】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

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

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リナックスアカデミーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リナックスアカデミーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する