Git

Gitプル・フェッチ入門|リモートの変更を取得する

Gitpullfetch

Gitプル・フェッチ入門
リモートの変更を取得する

git pullとgit fetchの違い、使い分け、コンフリクト時の対処法を解説します。

こんな人向けの記事です

  • リモートの変更を取得する方法を知りたい人
  • pullとfetchの違いを理解したい人

Step 1git fetchとは

リモートの変更をダウンロードしますが、ローカルブランチには反映しません。変更内容を確認してからマージできます。

ターミナル
# リモートの変更を取得
git fetch origin

# 取得した変更を確認
git log origin/main --oneline

# ローカルとの差分を確認
git diff main origin/main

# 問題なければマージ
git merge origin/main

Step 2git pullとは

fetchとmergeを一度に実行します。リモートの変更をすぐにローカルに反映したい場合に使います。

ターミナル
# リモートの変更を取得してマージ
git pull origin main

# リベースで取り込み(履歴が直線的に)
git pull --rebase origin main

# 上流が設定済みなら省略可能
git pull

Step 3fetchとpullの使い分け

項目fetchpull
動作ダウンロードのみダウンロード + マージ
安全性高い(変更を確認できる)自動マージされる
使用場面変更内容を事前確認したい時すぐに最新版にしたい時

推奨: チーム開発ではgit fetchで変更を確認してからマージする方が安全です。

Step 4pull時のコンフリクト対処

ターミナル
# コンフリクトが発生した場合
# 1. 該当ファイルを開いてコンフリクトを解消
# 2. 解消したファイルをステージング
git add 解消したファイル名

# 3. コミット
git commit

# pullを中止したい場合
git merge --abort