git pullとは?リモートの変更を取得する方法 – 8/12

Git
Git
B!

前回の記事では git push を解説しました。

git push は

ローカル → GitHub

へコードを送る操作でした。

しかしチーム開発では次のような状況がよく起きます。

他の開発者がGitHubに変更をpushした

この変更を自分のローカル環境に取り込む必要があります。

そのためのコマンドが

git pull

です。

この記事では次の内容を解説します。

  • git pullとは
  • pullの仕組み
  • git fetchとの違い
  • pullの基本コマンド
  • pull時のエラー

git pullとは

git pull は

リモートリポジトリの変更を取得してローカルに反映する

コマンドです。

つまり

GitHub
↓
ローカル

に変更を取り込む操作です。

前回の git push と合わせると

push → ローカル → GitHub
pull → GitHub → ローカル

という関係になります。


git pullの基本コマンド

基本コマンド

git pull origin main

意味

origin の main ブランチを取得

です。

つまり

GitHub(main)
↓
ローカル(main)

に変更を反映します。


git pullの仕組み

実は git pull は次の2つの操作を同時に行っています。

git fetch
git merge

つまり

fetch → 変更取得
merge → ローカルに統合

です。


git fetchとは

git fetch は

リモートの変更を取得する

だけのコマンドです。

ローカルのコードは変更されません。

例

git fetch

このコマンドで

GitHubの変更

を取得できます。


git pullとの違い

コマンド動作
git fetch変更取得のみ
git pull取得 + merge

つまり

git pull = fetch + merge

です。


git pullの例

チーム開発の例です。

開発者A

git push origin main

開発者B

git pull origin main

これにより

Aの変更

がBの環境に反映されます。


featureブランチでのpull

通常の開発では

main

ではなく

featureブランチ

を使います。

例

git pull origin feature-login

pullの注意点

pullする前に

ローカル変更

がある場合

エラーになることがあります。

例

Your local changes would be overwritten

この場合

commit

するか

stash

する必要があります。


git stash

git stash は

変更を一時保存

するコマンドです。

例

git stash

その後

git pull

ができます。


pullで起こる問題

git pull をすると

merge conflict

が起こることがあります。

これは

同じファイルの同じ部分

を別の人が変更した場合です。

次回の記事では

git merge

と

コンフリクト

を解説します。


pullを使うタイミング

実務では次のタイミングでpullします。

作業開始前

理由

最新コードを取得

するためです。


一般的な開発フロー

チーム開発の基本フロー

git pull
↓
作業
↓
git add
↓
git commit
↓
git push

つまり

pull → 開発 → push

です。


まとめ

この記事では git pull を解説しました。

重要なポイント

git pull = リモート変更取得
git fetch + merge

基本コマンド

git pull origin main

チーム開発では

作業前にpull

する習慣が重要です。


次の記事

次回は

git merge

を解説します。

ここでは

  • mergeとは
  • ブランチ統合
  • コンフリクト

など、Gitの重要な概念を説明します。

Git入門

B!
← 一覧へ戻る