プル
初級読み方:プル|英語: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 pull | GitHub → 自分の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の手順がおすすめです。
関連用語
📖 関連レッスン
レッスンを見る →