【问题描述】
git和 svn不同,仅仅跟踪文件的变动,不跟踪目录。所以,一个空目录,如果里面没有文件,即便 git add 这个目录,另外在别处 check out 的时候,是没有这个空目录的。
有时候,确实需要在代码仓库中保留某个空目录。比如测试时需要用到的空目录。下面来看看如何解决:
【解决方案】
Track Empty Directories with git
git 跟踪空文件夹
There are times when you’d like to track an empty directory within git but there’s a problem: git wont allow you to add a directory that doesn’t have a file in it. The easy solution is putting an empty stub file within the directory, and the industry standard for that stub file name is .gitkeep.
有时您想跟踪git中的空目录,但是有一个问题:git不允许您添加其中没有文件的目录。 一种简单的解决方案是在目录中放入一个空的存根文件,该存根文件名的行业标准是.gitkeep 。
You can quickly create the file and commit the “empty” directory from command line:
您可以快速创建文件并从命令行提交“空”目录:
touch my-empty-dir/.gitkeep
git add my-empty-dir/.gitkeep
git commit -m "Adding my empty directory"
注:my-empty-dir是指代空目录路径
The problem is simple, the solution is easy, but I wanted to highlight that .gitkeep is the industry standard.
问题很简单,解决方案很容易,但我想强调.gitkeep是行业标准。
翻译自:https://davidwalsh.name/git-empty-directory
上述方法注意:不要在项目的.gitignore中设置忽略.gitkeep文件,.gitkeep 是一个约定俗成的文件名并不会带有特殊规则