我刚才读的git-blame手册一次,并注意到这部分:如何使用git检测复制和粘贴的代码?
一个特别有用的方法是看是否新添加的文件已经从现有的文件通过复制和粘贴创建行。有时候这表明开发者很sl and,没有正确地重构代码。你可以先找到犯介绍了与文件:
git的日志--diff过滤= A = --pretty短 - 富
,然后注释提交与其父母之间的变化,用提交^!表示法:
git blame -C -C -f $ commit ^! - foo
这听起来很有趣,但我并不十分注意它是如何工作的,以及为什么。我不知道它是否可以在git钩子中用来检测粘贴代码复制&。
一些git专家可以解释一起使用上面的git命令的效果,以及是否可以使用类似的东西来让git显示是否存在代码重复(也许通过使用git似乎相似的索引)重命名文件时计算)?
感谢您的解释!双重的'-C -C'标志让git非常有趣 – 2009-12-22 13:35:41