Sourcetreeでフェッチする

概要

最終更新日:2020/02/09

この記事では「フェッチとは何か」「フェッチのメリットとは」
「Sourcetreeでフェッチするにはどうしたらいいか」といったことが
伝わるように説明を行います。

フェッチとは

フェッチとはGitの機能の一つでリモートリポジトリの内容を
ローカルリポジトリに取得する機能です。
取得するだけなので、実際にはローカルリポジトリや開発環境には反映されていません。
リモートリポジトリの内容を仮でローカルリポジトリに置いている状態です。

git_0081
その為、開発環境上での内容の確認、変更を行うことはできません。

フェッチのメリット

フェッチの一番のメリットはリモートリポジトリの内容をローカルリポジトリに反映する前に
リモートリポジトリの状況を知ることができることです。
これによって、コンフリクト対象のファイルの有無を確認しながら
反映を行うことができるので、対応が楽になります。

Sourcetreeでのフェッチの使い方

まずは、フェッチ前のSourcetreeの内容を確認してください。

git_0075

この状態から以下の二つの方法を使用してフェッチします。
  1. リモートリストからフェッチする
  2. フェッチアイコンからフェッチする

リモートリストからフェッチする

Sourcetreeの左のメニューのリモートリストからフェッチを行います。

git_0076
  1. リストから対象のリモートリポジトリを右クリック
  2. 表示されたメニューから「リポジトリ名からフェッチ」をクリック

フェッチアイコンからフェッチする

Sourcetree上段メニューのフェッチアイコンをクリックして、フェッチを開始します。

git_0077

表示されたウィンドウの「全てのリモートからフェッチ」に
チェックが入っていることを確認してから「OK」ボタンをクリックします。

git_0078

フェッチ後の動作

上のどちらの方法でフェッチを行ったら、リモートリポジトリとの通信が行われ、
リポジトリの内容を取得します。

git_0079

取得が終了するとコミットログの内容が変化します。

git_0080

これでSourcetreeを使用したフェッチの実行は終了です。

プルとフェッチの違い

プルはリモートリポジトリの内容をローカルリポジトリに取得して反映する機能です。
このプルという機能は複数の機能を使用することで取得と反映を行っています。
その機能が「フェッチ」と「マージ」です。

git_008

フェッチでリモートリポジトリの内容をローカルリポジトリに取得して、
マージで取得した内容を反映しています。
つまり、フェッチはプルの機能の一部として使われているということです。

git_0083

まとめ


  • フェッチはリモートリポジトリの内容をローカルリポジトリに取得する機能
  • リモートリポジトリの内容を事前に取得できるからコンフリクト対応がしやすい
  • フェッチはプルの一部として実行されている