[解決済み] ブランチから最新の Git コミットのハッシュを取得するコマンド
2022-10-29 15:59:43
質問
ある Git ブランチの最新のコミットハッシュをコマンドラインで確認するにはどうしたらよいのでしょうか。
どのように解決するのですか?
使用方法
git ls-remote git://github.com/<user>/<project>.git
. 例えば、私の trac-backlog プロジェクトでは、次のようになります。
:: git ls-remote git://github.com/jszakmeister/trac-backlog.git
5d6a3c973c254378738bdbc85d72f14aefa316a0 HEAD
4652257768acef90b9af560295b02d0ac6e7702c refs/heads/0.1.x
35af07bc99c7527b84e11a8632bfb396823326f3 refs/heads/0.2.x
5d6a3c973c254378738bdbc85d72f14aefa316a0 refs/heads/master
520dcebff52506682d6822ade0188d4622eb41d1 refs/pull/11/head
6b2c1ed650a7ff693ecd8ab1cb5c124ba32866a2 refs/pull/11/merge
51088b60d66b68a565080eb56dbbc5f8c97c1400 refs/pull/12/head
127c468826c0c77e26a5da4d40ae3a61e00c0726 refs/pull/12/merge
2401b5537224fe4176f2a134ee93005a6263cf24 refs/pull/15/head
8aa9aedc0e3a0d43ddfeaf0b971d0ae3a23d57b3 refs/pull/15/merge
d96aed93c94f97d328fc57588e61a7ec52a05c69 refs/pull/7/head
f7c1e8dabdbeca9f9060de24da4560abc76e77cd refs/pull/7/merge
aa8a935f084a6e1c66aa939b47b9a5567c4e25f5 refs/pull/8/head
cd258b82cc499d84165ea8d7a23faa46f0f2f125 refs/pull/8/merge
c10a73a8b0c1809fcb3a1f49bdc1a6487927483d refs/tags/0.1.0
a39dad9a1268f7df256ba78f1166308563544af1 refs/tags/0.2.0
2d559cf785816afd69c3cb768413c4f6ca574708 refs/tags/0.2.1
434170523d5f8aad05dc5cf86c2a326908cf3f57 refs/tags/0.2.2
d2dfe40cb78ddc66e6865dcd2e76d6bc2291d44c refs/tags/0.3.0
9db35263a15dcdfbc19ed0a1f7a9e29a40507070 refs/tags/0.3.0^{}
必要なものをgrepして切り出せばいい。
:: git ls-remote git://github.com/jszakmeister/trac-backlog.git | \
grep refs/heads/master | cut -f 1
5d6a3c973c254378738bdbc85d72f14aefa316a0
あるいは、コマンドラインで必要なrefを指定し、grep withを回避することも可能です。
:: git ls-remote git://github.com/jszakmeister/trac-backlog.git refs/heads/master | \
cut -f 1
5d6a3c973c254378738bdbc85d72f14aefa316a0
注意:必ずしも
git://
の URL である必要はありません。次のようにすることもできます。
https://
または
[email protected]:
もあります。
元々、これはリモートブランチの最新コミット(最後のフェッチからだけでなく、リモートリポジトリ上のブランチの実際の最新コミット)を見つけるために向けられたものです。 ローカルで何かのコミットハッシュが必要な場合は、ベストアンサーです。
git rev-parse branch-name
速くて簡単、そして一つのコマンドで済みます。 もし現在のブランチのコミットハッシュが欲しければ、HEADを見ればいいのです。
git rev-parse HEAD
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 既存の、プッシュされていないコミットメッセージを修正するには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Git でブランチからコミットを削除する
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
fatal: リモート参照マスタが見つかりませんでした。
-
git commit コマンドで追跡した新規ファイルをコミットすると、プロンプト *** Please tell me who you are が表示されます。
-
hint: 現在のブランチの先端が hint: そのリモートカウントより遅れているため、更新が拒否されました。
-
[解決済み] Git で現在のコミットのハッシュを取得する方法は?
-
Git Bash报错发生: メールアドレスが自動検出されない (「Anita@newton.(none)」を取得)的解决方法。
-
[解決済み] Jenkins Pipeline Git SCM を認証情報でチェックアウトする?
-
[解決済み] なぜGitでコミットする前にステージが必要なのですか?
-
[解決済み] CVS から Git への移行: $Id$ 相当?
-
[解決済み] GitとSSH、どちらのキーを使うか?
-
[解決済み] Git タグリスト、コミット sha1 ハッシュの表示