Git

プル

初級

読み方:プル|英語:Pull

リモートの変更をローカルに取り込むことだよ。

やさしい説明

プルとは、リモート(GitHub等)の変更をローカル(自分のPC)に取り込む操作です。pushの逆です。

チーム開発で他のメンバーがpushした変更を、自分のPCに反映するときに使います。「GitHubから最新版をダウンロードする」イメージです。

作業を始める前に git pull して最新の状態にするのが良い習慣です。

具体例・使い方

# GitHubから最新の変更を取得
git pull origin main

# 省略形(追跡設定済みの場合)
git pull

git pull は実は「fetch(取得)+ merge(合体)」を1コマンドでやっています。まずGitHubの最新を取ってきて、それを自分のコードに合体させる、という2段階を一気に実行しているのです。

push と pull の関係

向き 使う場面
git push自分のPC → GitHub作業が終わって変更をアップしたいとき
git pullGitHub → 自分のPC作業を始める前に最新を取り込みたいとき

いつ使う?

  • 朝の作業開始時(まず最新の状態にしてから始める)
  • 他のメンバーがpushしたと連絡があったとき
  • プルリクがマージされた後、main を最新化するとき
  • 別のPCで作業した内容を、今のPCに取り込むとき

鉄則:作業を始める前にまず git pull最新の状態から始めれば、後で説明するコンフリクトが起きにくくなります。

間違いやすいポイント

❌ ローカルの変更とリモートの変更が衝突する(コンフリクト)

同じファイルの同じ箇所を別々に変更していると、pullしたときにコンフリクトが発生します。あわてず、衝突した箇所を手動で選んで解決してからコミットしましょう。

❌ 変更を保存(コミット)せずに pull しようとする

編集中で未コミットの変更があると、pullが拒否されることがあります。先に git commit するか、一時退避する git stash を使ってから pull しましょう。

よくある疑問

Q: pullとcloneの違いは?

A: cloneは最初にリポジトリ全体をコピー、pullは既存のリポジトリを最新に更新します。cloneは1回だけ、pullは何度も実行します。

Q: pullでコンフリクトが起きたら?

A: ファイルを開いて<<<<<<< と >>>>>>>の間を手動で修正し、git add → git commitで解決します。

Q: pullとfetchの違いは?

A: fetchはリモートの情報を取得するだけ(マージしない)、pullは取得+マージまで行います。安全に確認したいならfetch→確認→mergeの手順がおすすめです。

関連用語

  • プッシュ — pullの逆。ローカルの変更をGitHubに送る
  • クローン — リポジトリを丸ごと最初にコピーしてくる操作
  • マージ — pullの中身。取得した変更を自分のコードに合体させる

📖 関連レッスン

レッスンを見る →

関連ブログ記事

❓ 関連するQ&A