这在办公室出现几次,但是当它没有答案时我也没有答案。我们假设您将源代码分发为二进制文件。几年后,有人在文件系统/ foo.cpp中发现了一个错误。他们给了我原始的foo.cpp以及修复bug的更新版本。问题是,foo.cpp总共修改了600个,而且你不知道他们最初修改了哪个版本。
有没有办法使用bug修复程序提供的原始foo.cpp来发现哪个确切的SHA1树修订版具有原始foo.cpp的第一个实例?换句话说,是否有一个git实用程序或帮助程序脚本来搜索每个system / foo.cpp修订版,将它与提交的foo.cpp进行比较,以找出它们修改的修订版本?
答案 0 :(得分:3)
您可以使用git hash-object
来计算文件的blob哈希值,即文件内容的标识符。
使用该blob哈希,您可以执行in this question所述的操作,以找出哪些提交包含该blob。