git ls-remoteの使い方を紹介!リモートの更新を確認しよう

git ls-remoteとは、リモートリポジトリ(現在のディレクトリのクローン元)の最新のコミットIDを取得するコマンドです。
この記事では、git ls-remoteの使い方と、追加できるオプションについて説明していきます。

コンテンツ [表示]

  1. 1git ls-remoteとは?
  2. 2git ls-remoteの使い方
  3. 3git ls-remoteのオプション
  4. 3.1git ls-remote -q(--quiet)
  5. 3.2git ls-remote --get-url
  6. 3.3git ls-remote --heads
  7. 3.4git ls-remote --tags
  8. 3.5git 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
GeekHive採用サイト

関連記事