【发布时间】:2014-12-09 23:05:56
【问题描述】:
我在一个像这样的大型仓库中有一些 ruby 代码
def my_func params
{
:k1 => 1,
:k2 => 2,
:k3 => 3,
:k4 => 4,
:k5 => 5,
:k6 => 6
}
end
不知何故,随着时间的推移,很少有键值对被删除。我想git blame 是谁做的,但是键值对是如此常见,以至于grep 会导致太多误报。那么有没有办法在所有提交中查看函数的更改?
我尝试了git log -L /^\s+def my_func/,/^\s+def/ src/to/file.rb 之类的方法,但没有成功。像 SourceTree 这样的 GUI 工具有“记录这个文件”,它只显示差异,所以我不知道更改属于哪个函数。我也搜索了stackoverflow并google了一下,没有找到通用的方法。
【问题讨论】:
-
你是说这些行出现了很多次,删除了很多次,你无法通过 -G 选项来记录或使用镐搜索?
-
@AndrewC 是的,更糟糕的是,我真的不记得究竟需要删除什么,第一个版本有很多 k-v 对,当前版本太少了。我需要弄清楚为什么有些人被设计或错误地删除了。