Linux
給定一個 git commit hash,如何找出哪個核心版本包含它?
假設我有一些問題已被官方 Linux git 儲存庫的最新更新檔修復。我有一個解決方法,但我想在包含我的修復的發布發生時撤消它。我知道確切的 git commit 雜湊,例如f3a1ef9cee4812e2d08c855eb373f0d83433e34c。
回答這個問題的最簡單方法是什麼:到目前為止,哪些核心版本包含此更新檔?如果不需要本地 Linux git 儲存庫,則可以加分。
(LWM討論了一些想法,但這些確實需要本地儲存庫。)
在GitHub 核心儲存庫中,您可以檢查所有標籤/核心版本。
Jim Paris提供的dc0827c128c0ee5a58b822b99d662b59f4b8e970範例:
如果點擊三個點,則可以看到標籤/核心版本的完整列表。
如LWN所述,最簡單的是:
git describe --contains f3a1ef9cee4812e2d08c855eb373f0d83433e34c
如果您不想要本地複製,gitweb 的“普通”格式送出在
X-Git-Tag
標題中包含相同的資訊。*不幸的是,kernel.org 切換到了 cgit,它顯然沒有透露這些資訊。*以前可以像這樣找到它:在這裡,
X-Git-Tag
目前實際上是缺失的,因為該送出不在該儲存庫的標記版本中。但是您可以查看較早的送出,例如:在這裡,你看到:
X-Git-Tag: v3.4-rc1~184^2~10
這告訴我標籤“v3.4-rc1”是我的更新檔之後的第一個標籤,所以我希望在 v3.4 中看到它。