我在Git有一个项目。在我的代码中,在过去的某个时刻,我删除了对公共函数的调用。我想知道何时删除了对此函数的调用,以及为什么。因为函数调用与函数定义位于不同的文件中,所以我不能简单地查看定义函数的文件的文件历史记录。有没有一种简单的方法来查找包含函数调用的文件?
我会试着说明一下:
File: MyFuncCall.cs //older version
public void Foo()
{
//do something ...
}
File: ???.cs //older version
public void Bar()
{
new MyFuncCall().Foo();
//do something else...
}
在一些提交之后,代码现在看起来像:
File: MyFuncCall.cs //newer version
public void Foo()
{
//do something ...
}
File: ???.cs //newer version
public void Bar()
{
//no more call to function
//do something else...
}
在这个插图中,我想知道???。cs是什么。
答案 0 :(得分:4)
它被称为日志" pickaxe" (git log
):
git log -Sfunction
最旧的将是您的代码中引入该功能的提交 下一个可以删除它。
请参阅" How to grep git commits for a certain word":它与git log --grep=function
不同,后者在提交消息中出现问题。