大家有时候希望从git仓库中拉取代码时目录就已经存在了,不需要再手动创建,但是git并不允许git提交空目录,应该怎么办呢?这篇文章通过可能遇到的两个情况来分别介绍如何解决,有需要的朋友们可以参考借鉴。
前言
git和 svn不同,仅仅跟踪文件的变动,不跟踪目录。所以,一个空目录,如果里面没有文件,即便 git add 这个目录,另外在别处 check out 的时候,是没有这个空目录的。
只跟踪文件变化,不跟踪目录,这么设计是有原因的。但这会带来一些小麻烦。有时候,确实需要在代码仓库中保留某个空目录。比如测试时需要用到的空目录。下面来看看如何解决。
其实这里有两种情况:
一、目录是空的
这种情况下只需要在目录下创建.gitkeep文件,然后在项目的.gitignore中设置不忽略.gitkeep
.gitkeep 是一个约定俗成的文件名并不会带有特殊规则
二、目录中已经存在文件
那就需要首先在根目录中设置!.gitignore,然后在目标目录也创建一个.gitignore文件,并在文件中设置
*
!.gitignore
网友评论