Git命令来发现我当前拥有的文件的哪个版本?

Git命令来发现我当前拥有的文件的哪个版本?,git,Git,这个问题在办公室里出现过几次,但我没有答案。假设您将源代码作为二进制文件分发。几年后,有人在文件系统/foo.cpp中发现了一个bug。他们给了我他们原来的foo.cpp和它的更新版本,并修复了bug。问题是,foo.cpp总共有600个版本,而您不知道他们最初修改了哪个版本 有没有办法使用bug修复提供的原始foo.cpp来发现哪个确切的SHA1树修订版拥有原始foo.cpp的第一个实例?换句话说,是否有git实用程序或帮助程序脚本来搜索每个system/foo.cpp版本,并将其与提交的fo

这个问题在办公室里出现过几次,但我没有答案。假设您将源代码作为二进制文件分发。几年后,有人在文件系统/foo.cpp中发现了一个bug。他们给了我他们原来的foo.cpp和它的更新版本,并修复了bug。问题是,foo.cpp总共有600个版本,而您不知道他们最初修改了哪个版本

有没有办法使用bug修复提供的原始foo.cpp来发现哪个确切的SHA1树修订版拥有原始foo.cpp的第一个实例?换句话说,是否有git实用程序或帮助程序脚本来搜索每个system/foo.cpp版本,并将其与提交的foo.cpp进行比较,以查找它们修改了哪个版本?

您可以使用它来计算文件的blob散列,即文件内容的标识符

有了这个blob散列,您可以按照描述的方法来查找哪些提交包含该blob