我的系统上安装了一个文件,该文件已知是 git repo 的一部分。我想找出哪个提交(重新)引入了该文件的该版本,即哪个提交负责将文件置于当前状态。
我知道该文件在存储库中,因为git show $(git hash-object $the_file)
有效。
在这一点上,我真的不需要这个示例问题的解决方案,我只是希望更多地了解如何导航 git 的数据结构。
如果当前版本引入了您可以测试的特定组件(通过单元测试程序、shell 脚本等),您可以使用 git bisect 工具找到负责该组件的提交。
这是该命令的手册:http: //www.kernel.org/pub/software/scm/git/docs/git-bisect.html
使用 获取给定文件版本的哈希git hash-object <file>
,然后使用git log --raw -- <file>
,并通过寻呼机(在“less”和“more”中为“/”)搜索此哈希。
怎么样git log <the file>
?