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



我在一个旧的论坛线程中发现了一个补丁文件,我有一个git存储库。

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

我还是个菜鸟。

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

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

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

这里,a344535, 477ede1都是提交id(它们是SHA/commit id的缩写)。

要检出生成补丁的文件版本,请在commit

上执行检出操作。
git checkout a344535

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

注意:上面的git checkout <SHA>将带你到一个分离的头部状态,所以一旦你想再次开始你的repo工作,不要忘记做一个git checkout master

最新更新