Phi*_*ley 3 git duplicates path-finding
在我的'project/repo'中,我有两个MS Visual Studio项目,一个用于主代码,另一个用于测试.我有一些共同的文件(在复制和粘贴意义上),我想看/检查它们是哪些.
什么是正确的Git命令(或Gui菜单点击),看看我是否在整个repo树中使用了两次相同的内容blob?如果我已经正确阅读了所有教程,git应该有一个SHA1用于相同文件内容的两个副本并且已经知道它.我希望Git有一个命令可以找到并显示这些重复的使用文件路径.
最后,当有共同的祖先blob SHA1(但不是常见位置)时,我希望能够找出版本之间的差异.[即在测试期间,一个版本会在另一个版本之前更新...]
我知道这样的副本不是最佳做法,但这是工作结束的方式:-(
我在Windows上有Msysgit和GitExtensions ...
你可以做点什么
git ls-tree -r HEAD
Run Code Online (Sandbox Code Playgroud)
要查看blob和文件.
如果您不想手动查看哪些是相同的blob:
git ls-tree -r HEAD |
sort -t ' ' -k 3 |
perl -ne '$1 && / $1\t/ && print "\e[0;31m" ; / ([0-9a-f]{40})\t/; print "$_\e[0m"'
Run Code Online (Sandbox Code Playgroud)