0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

git pull と git fetch の違い

Posted at

git pull(以下pull) と git fetch(以下fetch)

pullとfetchはどちらとも、リモートリポジトリから更新情報を取得するコマンド

↓↓2つの違いについて説明します。

git fetch

リモートリポジトリから更新情報をローカルに取り込みます。
その際、作業中のコードやブランチにはなにも変更が加わらず、安全にリモートの状態を確認できます。

メリット

  • 慎重に変更内容を取り込みことができる

デメリット

  • マージしたい場合、取得後に手動で行う必要があるため少し煩雑になる

使用例

git fetch origin ブランチ名 // 特定のブランチの最新状態を取得
git fetch origin // 特定のリポジトリを取得
git fetch --all // 全てのリポジトリから取得
git fetch -t // タグを取得
git fetch --tags // タグを取得
git fetch -p // ブランチ削除の同期
git fetch --prune // ブランチ削除の同期

どのようなときに使用するのか

説明の通り、リモートリポジトリの情報を確認したいが、まだ作業中のブランチにマージしたくないときに使用します。

git pull

fetchと同じく、更新情報をローカルに取り込みますが、pullはそれに加えて現在いるブランチに自動的にマージ(merge)されます。

どんなときに使用するのか

リモートリポジトリの確認とともに、作業中のブランチに直接マージさせたいときに使用します。

メリット

  • 変更内容の確認と同時にマージもできるため作業がスムーズになる

デメリット

  • 自動的に変更内容がマージされるため、コンフリクトが発生しやすくなる

使用例

git pull origin ブランチ名 // 特定のブランチを取得・取り込み
git pull origin // リモートから全てを取得・取り込み
git pull --all // 全てのリモートから取得・取り込み
git pull --rebase origin main // リベースして取得・取り込み

結論

安全に作業を進めるならfetch
すぐに同期して作業をはやく進めるならpull

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?