未来エンジニア養成所Blog

月単価180万以上のプログラミング講師がプログラミングを皆に楽しんでもらうための情報をお届けします。

【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