背景
曾经某个版本写了某个代码,后来迭代删掉了。但是想看看当时如何修改?最新代码已经没有,老版本还得一个个找,或者通过遍历git log,然后git show 然后grep?还有其他办法吗?
git提供的相关机制
git log命令结合–grep选项可以来遍历搜索。比如查找包含VFIO_NOIOMMU_IOMMU字符串的提交,git log --grep="VFIO_NOIOMMU_IOMMU"
,这个命令会列出所有提交信息中包含VFIO_NOIOMMU_IOMMU字符串的提交记录。
如果想要查找修改了代码中包含该字符串的提交,使用-S选项git log -S"VFIO_NOIOMMU_IOMMU"
,这个命令会查找所有修改了包含VFIO_NOIOMMU_IOMMU字符串的文件的提交记录。这样可以找到与VFIO_NOIOMMU_IOMMU相关的所有提交,包括曾经被删除的。