我已经为我的Maven项目创建了目录结构。
$ tree -a -I .git
.
??? .gitignore
??? README.md
??? pom.xml
??? src
??? main
? ??? java
? ??? resources
??? test
??? java
??? resources
7 directories, 2 files
Run Code Online (Sandbox Code Playgroud)
现在我想将结构持久化到.git,这需要在子目录中创建虚拟文件。如何(递归地)将空.gitkeep文件添加到所有空子目录?
以下问题已经讨论(递归)在子目录中创建空文件,但我希望文件只在叶目录中创建,而不是在任何中间目录中
来自Ryan Armstrong 的博客,这是您的操作方法
find . -type d -empty -not -path "./.git/*" -exec touch {}/.gitkeep \;
Run Code Online (Sandbox Code Playgroud)
find . -type d (递归)查找当前路径下的目录-empty 过滤掉已经包含某些内容的目录-not -path "./.git/*"确保在.git目录中没有创建文件-exec touch {}/.gitkeep \;.gitkeep在符合上述条件的每个目录中创建空文件结果结构看起来像
$ tree -a -I .git
.
??? .gitignore
??? README.md
??? pom.xml
??? src
??? main
? ??? java
? ? ??? .gitkeep
? ??? resources
? ??? .gitkeep
??? test
??? java
? ??? .gitkeep
??? resources
??? .gitkeep
7 directories, 7 files
Run Code Online (Sandbox Code Playgroud)