查找外部补丁文件的提交版本

Find committed version of an external patched file

我在我有一个 git 存储库的文件的旧论坛线程中找到了一个修补文件。

我想知道使用了哪个版本的文件(可能是diffstat?)

我还是git新手。

是否已经有一些 git 内置的检查功能? 如果没有,我如何列出文件的每个更改版本并签出特定版本? (只有master分支)

如果你打开补丁文件(假设它是使用 git format-patch 生成的),你会发现这样一行:

diff --git a/file.py b/file.py
index a344535..477ede1 100644

这里,a344535477ede1都是commit id(它们是缩短的SHA/commit id)。

要检查生成补丁的文件版本,请检查提交

git checkout a344535

现在,您可以在存储库上执行 gitk(可能需要与 apt-get 一起安装)以检查更多历史记录。

注意:上面的 git checkout <SHA> 会让你进入一个超然的状态,所以一旦你想再次开始处理你的 repo,不要忘记做一个 git checkout master