🦊

【Git】コマンドあれこれ

2024/08/27に公開

フェッチとプル

リモートリポジトリから最新情報をローカルリポジトリにダウンロードする操作です。
この最新情報とは、リモートリポジトリで行われた新しいコミット(変更履歴や新しいファイルの追加など)が含まれます。

フェッチ

リモートリポジトリの最新の状態をローカルリポジトリに取り込み、リモートのブランチ情報をローカルのリモートトラッキングブランチに反映します。

$ git fetch

メリット
フェッチした情報はローカルの作業ブランチに直接関与しないため、自分の現在の作業に影響を与えません。安全にリモートの状態を確認することができます。

デメリット
フェッチした情報をローカルの作業ブランチに反映させるには、別途マージやリベースを行う必要があります。

ユースケース

  • チームで協力して開発する場合
  • 問題がある可能性のあるリモートブランチの状態を確認したい場合

プル

リモートリポジトリの最新の状態をローカルリポジトリに取り込み、自動的に現在の作業ブランチに反映させます。
つまり、フェッチとマージ(またはリベース)が一度に行われます

$ git pull

メリット
一度の操作で最新のリモートリポジトリの状態をローカルに反映させることができます。

デメリット
競合が起きた場合に手動で解決する必要があります。

ユースケース

  • 競合が発生していないことが分かっている場合

Discussion