リモートリポジトリ(GitHub)から情報を取得する~fetch フェッチ~

GitHub

リモートリポジトリ(GitHub)から情報を取得する方法についてご説明していきます。

リモートリポジトリから情報を取得するには大きく分けて下記の2種類あります。

  • fetch(フェッチ) ⇒ 取得する
  • pull(プル)     ⇒  引き寄せる

今回はfetchを利用して情報を取得する方法についてお話していきます。

fetchの使い方

fetchコマンドはリモートリポジトリ(GitHub)から情報を取得してローカルリポジトリに反映させることができます。

手元の作業場となるワークツリーには反映されないので注意してください。

もし手元に反映させる場合はmerge(マージ)と呼ばれる別のコマンドが必要となります。

git fetch リモート名

git fetch origin

fetchを利用して情報を取得してみる

テスト用にリモートリポジトリにremote.htmlファイルを作成しておく。

Linuxのlsコマンドで現在のフォルダ内のファイルを確認する

$ ls
index.html  secret.txt  style.css
※コードの見方
黄・・・入力したコマンド
青・・・ログインユーザー
紫・・・コメント
その他・・・コマンドのレスポンス

git fetch originを利用してローカルリポジトリに情報を取得

$ git fetch origin
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), 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), 725 bytes | 29.00 KiB/s, done.
From https://github.com/ユーザー名/リポジトリ名
   78c47ba..cef8f1b  main       -> origin/main  

情報の取得が完了したら、取得したブランチを確認するために以下のコマンドを実行する。
git branch -a ※-aはallの略ですべてのブランチを意味する。

$ git branch -a
* main  //*印は現在の作業ブランチ
  remotes/origin/main  //fetchで取得したブランチ

git checkout ブランチ名
現在のブランチから取得したブランチに切り替えてファイルを確認する。

git checkout remotes/origin/main

ブランチが切り替わったら再度、Linuxのlsコマンドを実行してフォルダに先ほど追加したremote.htmlファイルがあることを確認する。

$ ls
index.html  remote.html  secret.txt  style.css

リモートリポジトリに追加したremote.htmlファイルがあることが確認できた。

元の作業場に戻りたい場合はまたgit checkout ブランチ名で戻ることができる

mergeで取得したブランチの情報をワークツリーに反映

mergeとは取り込むという意味になります。ローカルリポジトリに取得したブランチの情報を手元のワークツリーに反映させることができます。

git merge 取得したブランチ名

$ git merge origin/main
Updating 78c47ba..cef8f1b
Fast-forward
 remote.html | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 remote.html  //詳細①

詳細①
remote.htmlが追加されたことがわかる。

念のためにlsコマンドで確認

$ ls
index.html  remote.html  secret.txt  style.css

ある!

タイトルとURLをコピーしました