需求: 由于从github上克隆了源代码到本地后,发现.git目录占用了比较大的空间,而我又不需要跟踪版本和代码提交记录。 于是就想删除所有子目录下的.git 目录。
基本上占了工程的一半的大小。
在git-bash 中使用Shell命令可以删除当前文件夹下所有子文件夹中的.git
目录:
find . -type d -name ".git" -exec rm -rf {} \;
这个命令的工作原理如下:
find .
:从当前目录开始搜索。-type d
:指定要查找的是目录。-name ".git"
:指定要查找名为.git
的目录。-exec rm -rf {} \;
:对找到的每个.git
目录执行删除操作,rm -rf
是递归删除(即使目录非空也会删除),{}
是find
命令找到的每个结果的占位符,\;
表示-exec
命令的结束。