未来エンジニア養成所Blog

プログラミングを皆に楽しんでもらうための情報をお届けします。

【Git&GitHub】リモートから取得(プル編)(git pullコマンド)

title


リモートから取得しよう(プル編)

今回はリモートから情報を取得してくるやり方(プル)について解説します。


プルを使うのは、リモートから情報を取得してマージまでも1つのコマンドでやりたい時にプルを使います。


前回解説したフェッチだと、まずリモートからローカルリポジトリに情報を取得してきて、その後ワークツリーに反映させるためにはマージをする必要がありました。

つまり、2回の手順が必要でした。

その情報を取得してワークツリーに反映させるまでを1つの手順でやりたい時にプルを使います。


では、プルのコマンドについて見ていきます。


プルは

$ git pull <リモート名> <ブランチ名>

というコマンドを使います。

たとえば

$ git pull origin main

というコマンドです。


プルというのは引っ張ってくるという意味です。

この「git pull origin main」というのは省略可能で、

$ git pull

と入力するだけでも可能です。

「git pull」と入力すると「git pull origin main」と同じ意味になります。


この「git pull」は何をしているかというと、「git fetch origin main」と「git merge origin/main」を行ったのと同じことをしています。


どういったことなのかイメージで押さえておきましょう。


git pull


「git pull」と入力すると

  • リモートリポジトリからローカルリポジトリに情報を取得してきて、その情報をワークツリーに反映させる

これを一度にやってしまいます。

前回解説した「フェッチをしてマージをする」を一度にやっているのが「git pull」になります。


実際にやってみよう

では、実際に「git pull」をやってみましょう。


まずはGitHubを開いて「git_tutorial」リポジトリに移動します。

そこでGitHubの内容を更新します。

リモートリポジトリの内容を変更したら、その変更を「git pull」でローカルに取り込むという流れで確認します。


今回は「home.html」に「<p>git pull</p>」と追記をします。


追記


追記したら「Commit directly to the master branch.」にチェックが付いていることを確認し、「Commit changes」で保存します。


Commit changes


これで「home.html」に「<p>git pull</p>」が追記されました。


次にターミナルを開いて「git pull」で取得してみます。


ターミナルで「git_tutorial」に移動します。

「git pull origin main」と入力します。

$ git pull origin main
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 703 bytes | 175.00 KiB/s, done.
From github.com:piketa/git_tutorial
 * branch            main       -> FETCH_HEAD
   bd0605c..80dc6e9  main       -> origin/main
Updating bd0605c..80dc6e9
Fast-forward
 home.html | 1 +
 1 file changed, 1 insertion(+)


これでプルが成功しました。


ではワークツリーのファイルの状態を見てみましょう。

「ls」で確認します。

$ ls
home.html   index.html  secret.txt


ファイルが3つあり、その中に「home.html」があります。

「home.html」の中身を確認します。

今回は「cat」コマンドを使って確認します。

「cat home.html」と入力します。

$ cat home.html
<p>home</p>
<p>git pull</p>


すると「<p>git pull</p>」が追記されていることが分かります。


このように、「git pull」をするとリモートリポジトリの内容をローカルリポジトリに反映させて、その上でワークツリーにもその変更を一度に反映できていることになります。

ワークツリーにまで一度に変更を反映させたい場合は「git pull」を使って見てください。


参考図書



独学で挫折しそうになったら、オンラインプログラミングスクール
未来エンジニア養成所Logo



あわせて学習したい

phoeducation.work