🦊
【Git】コマンドあれこれ
フェッチとプル
リモートリポジトリから最新情報をローカルリポジトリにダウンロードする操作です。
この最新情報とは、リモートリポジトリで行われた新しいコミット(変更履歴や新しいファイルの追加など)が含まれます。
フェッチ
リモートリポジトリの最新の状態をローカルリポジトリに取り込み、リモートのブランチ情報をローカルのリモートトラッキングブランチに反映します。
$ git fetch
メリット
フェッチした情報はローカルの作業ブランチに直接関与しないため、自分の現在の作業に影響を与えません。安全にリモートの状態を確認することができます。
デメリット
フェッチした情報をローカルの作業ブランチに反映させるには、別途マージやリベースを行う必要があります。
ユースケース
- チームで協力して開発する場合
- 問題がある可能性のあるリモートブランチの状態を確認したい場合
プル
リモートリポジトリの最新の状態をローカルリポジトリに取り込み、自動的に現在の作業ブランチに反映させます。
つまり、フェッチとマージ(またはリベース)が一度に行われます。
$ git pull
メリット
一度の操作で最新のリモートリポジトリの状態をローカルに反映させることができます。
デメリット
競合が起きた場合に手動で解決する必要があります。
ユースケース
- 競合が発生していないことが分かっている場合
Discussion