我在一个旧的论坛线程中发现了一个补丁文件,我有一个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
。