我剛纔讀的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