Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Git repo中,如何递归地查找所有二进制类型的文件,并获得总大小?_Git_Shell - Fatal编程技术网

在Git repo中,如何递归地查找所有二进制类型的文件,并获得总大小?

在Git repo中,如何递归地查找所有二进制类型的文件,并获得总大小?,git,shell,Git,Shell,我们有一个Git回购协议,我之前的同事在该公司错误地在回购协议中添加了很多二进制文件(PNG、JPG、JAR等) 如何递归查找所有二进制文件并获得总大小? 我当然希望排除隐藏的.git目录树中的文件,以及空文件 我想删除Git repo中的所有二进制文件,并将它们放在中心工件管理器(如Artifactory或Nexus)中。您可以要求Git自己使用,而不是直接查看文件系统 然后,您将很容易识别放错位置的大元素: ... 0d99bb93129939b72069df14af0d0dbda7eb6d

我们有一个Git回购协议,我之前的同事在该公司错误地在回购协议中添加了很多二进制文件(PNG、JPG、JAR等)

如何递归查找所有二进制文件并获得总大小?
我当然希望排除隐藏的.git目录树中的文件,以及空文件


我想删除Git repo中的所有二进制文件,并将它们放在中心工件管理器(如Artifactory或Nexus)中。

您可以要求Git自己使用,而不是直接查看文件系统

然后,您将很容易识别放错位置的大元素:

...
0d99bb93129939b72069df14af0d0dbda7eb6dba 542455 path/to/some-image.jpg
2ba44098e28f8f66bac5e21210c2774085d2319b 12446815 path/to/hires-image.png
bd1741ddce0d07b72ccf69ed281e09bf8a2d0b2f 65183843 path/to/some-video-1080p.mp4

那你就可以了。

谢谢。我在OSX上,所以我安装了coreutils,用gnumfmt替换了numfmt,并且工作正常。然而,我仍然对二进制文件和它们的总大小感兴趣-我想将它们从我们的repo中删除,并将它们放入中央repo服务器,如Artifactory或Nexus。@ChrisF您需要先签出它们,然后执行mvn部署文件并将其发布到Nexus,然后通过BFG删除它们。我明白我需要做什么,这就是我想要一个二进制文件列表的原因。@ChrisF这些(大)文件的扩展名是否足以让您从答案中列出的大提交中grep said文件?不,我们不止这些。我在另一家公司工作,有人写了一个脚本来满足我的要求,但脚本确实指定了扩展。我正试图摆脱这一点。不过,我会做一些你答案中提到的删减。没有人同意“二进制文件”的定义,所以你选择的任何答案都可能需要适应你的定义,除非你运气好,而且做出答案的人已经同意你的定义。