リモートリポジトリ(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
ある!