Sourcetreeでフェッチする
概要
最終更新日:2020/02/09 この記事では「フェッチとは何か」「フェッチのメリットとは」 「Sourcetreeでフェッチするにはどうしたらいいか」といったことが 伝わるように説明を行います。
フェッチとは
フェッチとはGitの機能の一つでリモートリポジトリの内容を ローカルリポジトリに取得する機能です。 取得するだけなので、実際にはローカルリポジトリや開発環境には反映されていません。 リモートリポジトリの内容を仮でローカルリポジトリに置いている状態です。 その為、開発環境上での内容の確認、変更を行うことはできません。
フェッチのメリット
フェッチの一番のメリットはリモートリポジトリの内容をローカルリポジトリに反映する前に リモートリポジトリの状況を知ることができることです。 これによって、コンフリクト対象のファイルの有無を確認しながら 反映を行うことができるので、対応が楽になります。
Sourcetreeでのフェッチの使い方
まずは、フェッチ前のSourcetreeの内容を確認してください。 この状態から以下の二つの方法を使用してフェッチします。
- リモートリストからフェッチする
- フェッチアイコンからフェッチする
リモートリストからフェッチする
Sourcetreeの左のメニューのリモートリストからフェッチを行います。
- リストから対象のリモートリポジトリを右クリック
- 表示されたメニューから「リポジトリ名からフェッチ」をクリック
フェッチアイコンからフェッチする
Sourcetree上段メニューのフェッチアイコンをクリックして、フェッチを開始します。 表示されたウィンドウの「全てのリモートからフェッチ」に チェックが入っていることを確認してから「OK」ボタンをクリックします。
フェッチ後の動作
上のどちらの方法でフェッチを行ったら、リモートリポジトリとの通信が行われ、 リポジトリの内容を取得します。 取得が終了するとコミットログの内容が変化します。 これでSourcetreeを使用したフェッチの実行は終了です。
プルとフェッチの違い
プルはリモートリポジトリの内容をローカルリポジトリに取得して反映する機能です。 このプルという機能は複数の機能を使用することで取得と反映を行っています。 その機能が「フェッチ」と「マージ」です。 フェッチでリモートリポジトリの内容をローカルリポジトリに取得して、 マージで取得した内容を反映しています。 つまり、フェッチはプルの機能の一部として使われているということです。
まとめ
- フェッチはリモートリポジトリの内容をローカルリポジトリに取得する機能
- リモートリポジトリの内容を事前に取得できるからコンフリクト対応がしやすい
- フェッチはプルの一部として実行されている