Git无法提交目录

背景

初始化时,可能需要提交空目录,但是Git是针对文件变动进行跟踪,不对目录进行跟踪。所以一个目录如果没有文件,即使git add此目录,也无法进行提交。

Solution

简单做法是,在空目录下新建一个文件。此文件可能是:

  1. .gitignore文件
  2. .gitkeep.keep文件
  3. 其他空文件

.gitignore文件内容可以是:

1
2
3
4
# 忽略所有文件
*
# 除了gitignore文件
!.gitignore

之后进行git add即可。

脚本

懒人脚本,其实就是一行命令,查找当前目录,如果为空则添加空文件(忽略.git目录):

1
find . \( -type d -empty \) -and \( -not -regex ./\.git.* \) -exec touch {}/.gitkeep \;

Ref

git 保存空目录
eclipse 工程下新建文件夹无法上传至Git仓库
gitignore 添加空目录