git - 在当前目录中查找签出代码的大小
问题描述
我想在文件夹/项目中查找当前签出文件的大小,但忽略 git 目录。
就像是:
du . --ignore '.git'
有没有办法找到所有文件的大小而忽略 .git 文件夹中的内容?当我这样做时:
du . --exclude='.git'
du . --exclude='./.git' # or this
无论哪种方式,我得到:
du: --exclude=./.git: No such file or directory
我该怎么办?
解决方案
如果您du
别无选择--exclude
,您有两种简单的方法可以解决这个问题。第一个假设树中的文件和树中其他地方的文件之间没有硬链接.git
,但这通常是正确的:
- 运行
du
以获取总使用量 - 自行运行
du
以.git
获取.git
使用情况 - 从第一个数中减去第二个数
第二种简单的方法是安装一个du
具有--exclude
.
还有第三种方法可以解决这个问题,这也很简单,但有点棘手:只需让.git
开:
mv .git ../save-git
du ...
mv ../save-git .git
如果您使用此方法,请确保在两者之间没有尝试做任何类似于 Git 的事情。或者,创建.git
一个指向 的符号链接../save-git
,或者(如果你的 Git 足够新的话)一个包含重定向的纯文本文件。这两种方法都会弄乱总数,但只能占用一个磁盘块的空间(符号链接或纯文本直接占用一个磁盘块,除非操作系统/文件系统使用 inode 符号链接并且符号链接很短足以容纳in-inode)。
推荐阅读
- java - 在 onDraw 中调用 canvas.drawCircle 时应用程序崩溃
- css - 如何重新格式化这个 css 代码来做相反的事情?
- java - WireMock - 包含 JSON 属性的请求的存根
- html - HTML 表格页脚无法跨越所有列
- python - python如何将ID分配给不可变对象?
- google-maps - 包裹在 GestureDetector 中的 GoogleMap 不接收拖动事件
- javascript - Vuejs将道具从对象传递到动态组件
- python - 长字符串的 Python 外观转义
- javascript - jquery .after使用后运行脚本的问题
- z3 - Z3 Optimize 最大和最小功能背后的理论是什么?