Git FetchとPull:GitFetchコマンドとGitPullコマンドの違いは何ですか?

Gitpullfetchは、Gitユーザーが定期的に使用する2つのコマンドです。両方のコマンドの違いを見てみましょう。

コンテキストのために、おそらくクローンリポジトリで作業していることを覚えておく価値があります。クローンとは何ですか?それは単に別のリポジトリの複製です。基本的には、他人のソースコードのコピーを自分で取得することです。

とはいえ、元のクローンに適用された可能性のある変更でクローンを最新の状態に保つには、それらをクローンに取り込む必要があります。

そこfetchpull来てください。

git fetch これは、ローカルgitに元のメタデータ情報から最新のメタデータ情報を取得するように指示するコマンドです(ただし、ファイル転送は行いません。利用可能な変更があるかどうかを確認するだけのようなものです)。

git pull 一方、それを行い、それらの変更をリモートリポジトリから取得(コピー)します。

例えば:

git pull origin ankur bugfix

重要な点は、通常、ワークステーションにはプロジェクトのコピーが少なくとも3つあることを覚えておく必要があります。

  • 1つのコピーは、独自のコミット履歴を持つ独自のリポジトリです(いわば、すでに保存されているものです)。
  • 2番目のコピーは、編集およびビルドしている作業コピーです(まだリポジトリにコミットされていません)。
  • 3番目のコピーは、リモートリポジトリのローカルの「キャッシュされた」コピーです(おそらく、クローンを作成した元のコピーです)。

git fetch最後にプルしてからリモートリポジトリ/ブランチで行われた変更を知るために使用できます。これは、実際のプルを実行する前にチェックできるようにするのに役立ちます。これにより、現在のブランチと作業コピーのファイルが変更される可能性があります(変更が失われる可能性など)。

git fetch git diff ...origin