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

前回の記事では 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の重要な概念を説明します。

コメント

タイトルとURLをコピーしました