git ls-remoteの使い方を紹介!リモートの更新を確認しよう
git ls-remoteとは、リモートリポジトリ(現在のディレクトリのクローン元)の最新のコミットIDを取得するコマンドです。
この記事では、git ls-remoteの使い方と、追加できるオプションについて説明していきます。
git ls-remoteとは?
git ls-remote
とは、リモート(現在のディレクトリのクローン元)のコミットIDを取得するコマンドです。
このコマンドを使うと、各ブランチの最新のコミットのIDを見ることができます。
git ls-remoteの使い方
コンソールで、git ls-remote
というコマンドを打ってみましょう。
git ls-remote
git ls-remote
すると、このようにコミットIDが順番に表示されます。
git ls-remoteの実行結果(例)
From https://github.com/tanaka/sample.git
a49406c375f58817b1c5a4c7822035a25cf10b7b HEAD
a39eb4f26790d980099183fd6524a89390b70e1b refs/heads/main
a49406c375f58817b1c5a4c7822035a25cf10b7b refs/heads/master
86009a6bb8b71602ac4274896eb34839eff22348 refs/heads/tanaka
7c5728f5655fc36ad551cf228ce8a76cb6283e2f refs/heads/suzuki
e009b179be3a1b1a1e857168a9eed03b20f5296c refs/heads/saito
f5e99d444e791dde9a4684edf4359986dfaf5d9f refs/pull/1/head
72af8c46ed4651bcd907b19d6e3f9c9576f7411f refs/pull/2/head
IDの後ろに表示されている文字列はブランチを表しています。
例えば4列目は「tanaka」ブランチの最新のコミットIDが表示されていることになります。
また、リモートのURLを指定すると、他のディレクトリにいる場合でも参照することができます。
URLを指定するやり方
git ls-remote https://github.com/tanaka/sample.git
git ls-remoteのオプション
git ls-remote
のオプションには、以下のようなものがあります。
git ls-remote -q(--quiet)
このオプションは、情報を取得する時にリモートのURLを表示させないようにすることができます。
1行目にひょうじされていた、「From https://~」の部分ですね。
実行結果
$ git ls-remote -q
a49406c375f58817b1c5a4c7822035a25cf10b7b HEAD
87a615528f511c72e1a1af1916fd7b0f23a65363 refs/heads/main
a49406c375f58817b1c5a4c7822035a25cf10b7b refs/heads/master
...
-q
の代わりに、--quiet
でも同じオプションをつけることができます。
git ls-remote --get-url
このオプションは、先程とは逆に、リモートのURLを取得して表示します。
$ git ls-remote --get-url
https://github.com/tanaka/sample.git
git ls-remote --heads
このオプションは、リモートのHEADのみ取得します。
$ git ls-remote --heads
From https://github.com/hiroooo/apo.git
8ba3f2465abbc12fb804cbf4bc978ada39d8179c refs/heads/main
a49406c375f58817b1c5a4c7822035a25cf10b7b refs/heads/master
86009a6bb8b71602ac4274896eb34839eff22348 refs/heads/tanaka
7c5728f5655fc36ad551cf228ce8a76cb6283e2f refs/heads/suzuki
e009b179be3a1b1a1e857168a9eed03b20f5296c refs/heads/preview
0461df91d0f98dc75a35c33b8bb2c927738b050f refs/heads/staging
5272f1799a95b1108cf2e236ead3e222e2bc7341 refs/heads/saito
オプションを付けないときと似ているように感じますが、「refs/pull/1/head」や「refs/pull/2/head」みたいなものが表示されなくなります。
git ls-remote --tags
このオプションは、リモートのタグのみ取得します。
ちなみにタグとは、参照しやすいように特定のコミットに任意の名前をつけることができる機能のことです。
git ls-remote ブランチ名
ブランチ名を指定すると、そのブランチの最新のコミットIDのみを表示することができます。
実行例
$ git ls-remote origin tanaka
86009a6bb8b71602ac4274896eb34839eff22348 refs/heads/tanaka