我在一个文件的旧论坛线程中找到了一个修补文件,我有一个 git 存储库。
我想知道使用了哪个版本的文件(可能是diffstat较少的那个?)
我仍然是一个 git 新手。
是否已经有一些内置的 git 用于这样的检查?如果没有,我如何列出文件的每个更改版本并签出特定版本?(只有主分支)
我在一个文件的旧论坛线程中找到了一个修补文件,我有一个 git 存储库。
我想知道使用了哪个版本的文件(可能是diffstat较少的那个?)
我仍然是一个 git 新手。
是否已经有一些内置的 git 用于这样的检查?如果没有,我如何列出文件的每个更改版本并签出特定版本?(只有主分支)
如果你打开补丁文件(假设它是使用 git format-patch 生成的),你会发现如下一行:
diff --git a/file.py b/file.py
index a344535..477ede1 100644
在这里,a344535
,477ede1
都是提交 ID(它们是缩短的 SHA/提交 ID)。
要检查生成补丁的文件版本,请检查提交
git checkout a344535
现在,您可以在存储库上执行gitk
(可能需要安装apt-get
)以检查更多历史记录。
注意:以上将带你进入一个分离的头部状态,所以一旦你想再次开始处理你的回购git checkout <SHA>
,不要忘记做一个。git checkout master