Gitプル
git pullコマンドは、リポジトリのコンテンツを取得してローカルマシンにダウンロードします。ローカルリポジトリが更新され、リモートリポジトリのコンテンツが表示されるようになります。
おそらく、Gitリポジトリに関連付けられたコードをフェッチしてローカルマシンにダウンロードしたいという状況に遭遇するでしょう。
地元の食料品店で注文を追跡するアプリケーションに取り組んでいるとします。アプリに変更を加えるときは、リモートリポジトリからコードをプルする必要があります。これにより、常に最新のコードで作業できるようになります。
そこで、git pullコマンドが登場します。gitpullコマンドは、リモートリポジトリからコンテンツを取得するために使用され、ローカルマシンに保存されます。このチュートリアルでは、例を挙げて、gitpullコマンドを使用してコードをプルする基本について説明します。
Gitプルコマンドとは何ですか?
「コードのプル」という用語は、リモートリポジトリからコンテンツをダウンロードしてコンピュータに保存するプロセスを表します。
Gitでコードをプルするには、gitpullコマンドを使用できます。 git pullコマンドは、gitfetchとgitmergeという他の2つのコマンドを実行する便利なコマンドです。
gitpullコマンドがどのように機能するかを分析してみましょう。
まず、git pullを実行すると、プルしているリモートリポジトリがダウンロードされます。リポジトリからのコードのコピーと、リポジトリに関連付けられたGitコミットがマシンに保存されます。
参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。
平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。
これに続いて、Gitマージ操作が実行されます。この操作により、ローカルマシン上のコードが新しく取得されたコードとマージされ、コードベースの最終バージョンが1つ作成されます。このバージョンは、リモートブランチから取得したものと同じになります。
Gitプルコマンド
git pullコマンドは、リモートリポジトリを取得し、そのコードをローカルバージョンのリポジトリにダウンロードします。コマンドを見てみましょう:
git pull <remote>
「リモート」パラメータは、ローカルマシンにプルするリモートリポジトリを指します。このコマンドを実行すると、リモートリポジトリが取得され、リポジトリのローカルコピーにマージされます。
git pullコマンドは、追跡されていないファイルには影響しません。 Gitによって追跡されているリモートブランチ上のファイルに加えられた変更のみを受け取ります。これらの変更は、ローカルの作業ツリーに保存されます。
git pull origin
「origin」リポジトリのコンテンツを取得したいとします。これは、リポジトリで使用されるデフォルトの「リモート」値です。オリジンマスターブランチをプルすることでこれを行うことができます:
git pull origin/master
このコマンドは次を返します:
From https://github.com/jamesgallagher432/demo-repository b53b22d..a7d8dc2 master -> origin/master Updating b53b22d..a7d8dc2 Fast-forward README.md | 2 ++ 1 file changed, 2 insertions(+)
最初に、コマンドは、作業しているリモートリポジトリを取得しました。次に、識別された変更がコードのローカルコピーにマージされます。
リポジトリ内のREADME.mdファイルは、ローカルマシン上のものとは異なります。 git pullコマンドを実行すると、変更が識別され、ローカルマシンにマージされました。
git pullコマンドを実行したので、ローカルマシンはリモートリポジトリと同じコードを保存します。これは、コードに変更を加えると、それらが最新バージョンのリポジトリと互換性があることがわかっていることを意味します。新しいコミットがリモートリポジトリにプッシュされると、git pullを再度使用して、リポジトリの更新バージョンを取得できます。
git logコマンドを実行すると、ファイルが更新されたことを確認できます。このコマンドは、リポジトリに対して行われたすべてのコミットを表示します。
リポジトリからのGitプルリモートブランチ
ある特定のブランチからコードをプルして、ローカルマシンに保存するとします。 「dev-v0.9」というブランチのコードを操作します。そのブランチのコードをプルしたいだけです。
これを行うには、gitcheckoutコマンドを実行してからgitpullコマンドを実行します。この操作の構文は次のとおりです。
git checkout <branch name> git pull <remote>
この例では、次のコマンドを実行します。
git checkout dev-v0.9 git pull origin
git checkoutコマンドを実行すると、「dev-v0.9」ブランチに移動します。 git pull originコマンドは、「dev-v0.9」ブランチにコードのコピーを作成し、取得して保存します。コードがダウンロードされると、gitマージ操作が実行されます。これにより、ローカルリポジトリが更新され、リモートと同じコードが表示されます。
Git Force Pull
強制的にプル操作することができます。破棄したい追跡されていないファイルエラーが発生した場合は、gitpullcommonを強制します。
プル操作を強制する前に、ローカルの変更を失うことに問題がないことを確認する必要があります。プルを強制すると、すべてのローカル変更が上書きされます。
プルを強制するには、最初にローカルマシンに保存するコミットのメタデータをフェッチします:
git fetch --all
次に、現在のブランチをバックアップする必要があります。現在のブランチをバックアップすることで、後で戻したい変更が失われないようにすることができます。
git branch -b backup
ブランチのバックアップができたので、変更をプルできます。これを行うには、resetコマンドを使用します:
git reset --hard origin/master
origin / masterは、作業しているプロジェクトに関連付けられているoriginとbranchの名前に置き換える必要があります。オリジンはオリジンリポジトリを表します。マスターは、コードを取得するブランチの名前です。
gitforceプルガイドでGitプルを強制する方法の詳細をご覧ください。
GitプルとGitフェッチ
gitfetchとgitpullはどちらも、リモートリポジトリのコンテンツを取得します。一部の開発者は、gitpullコマンドとgitfetchコマンドの違いに混乱します。
git fetchコマンドは、リモートリポジトリからメタデータのみを取得します。このメタデータは、ローカルマシンにプルできる変更が利用可能かどうかを確認するために使用されます。 git pullコマンドは、メタデータと変更されたファイルの両方をダウンロードします。
git pullコマンドは、最初にフェッチ操作を実行します。ローカルリポジトリとリモートリポジトリの間で変更が識別された場合、それらの変更がダウンロードされます。
git pullコマンドを使用しているときは、変更を受け入れる準備ができていることを確認する必要があります。そうしないと、作業をコミットするときにリポジトリでコード間で競合が発生する可能性があります。
要約すると、git fetchを使用して、ローカルリポジトリとリモートの間に変更が存在するかどうかを確認します。リモートリポジトリのメタデータを取得し、加えられた変更をダウンロードする場合は、gitpullコマンドを使用します。
結論
git pullコマンドは、リモートGitリポジトリに保存されているコードをフェッチしてダウンロードします。 gitpullコマンドはgitfetchに似ています。 gitfetchはメタデータのみを取得します。 git pullは、メタデータとリポジトリ内のファイルに加えられた変更を取得します。
このチュートリアルでは、コードのプルの基本と、gitpullコマンドを使用してコードをプルする方法について説明しました。これで、プロの開発者のようにgitpullコマンドの使用を開始するために必要な知識を身に付けることができます。
-
Git DetachedHEAD
HEADが外れるという問題は発生しないかもしれませんが、回避できるように、HEADについて知っておくことが重要です。推奨事項として、切り離されたHEADでコミットしないでください。コミットする場合は、コミットを保存する方法を説明します。 リマインダー HEADが何であるかを理解するために、Gitの基礎となるツリーのような構造について復習してみましょう。 作業ディレクトリ:または作業ツリー。ローカルディレクトリとgit statusを参照します 作業ディレクトリの状態が表示されます。 HEAD:これは現在のブランチの最後のコミットスナップショットです。 git checkoutでブランチ
-
レスキューへのGitリセット
自分で、またはチームの一員としてプロジェクトに取り組んでいる場合、コミットを元に戻したい場合があります。 git reset コマンドは、実際の命の恩人として知られているツールの1つです。 Gitの追跡メカニズム git resetに進む前に 、gitの基本構造について理解する必要があります。 Gitは、ノードとポインターを備えたツリーのような構造を介して、ファイルを管理および追跡します。 ローカルのgitリポジトリには基本的にこれらの「ツリー」が3つあります: 作業ディレクトリ :または作業ツリー。ローカルディレクトリと git statusを参照します。 作業ディレクトリの