你是不是在git工程里遇到过.gitkeep文件? 如果你通过angular脚手架来生成angular2或者angular4工程,你会发现.gitkeep文件在./src/app/assets文件夹里。 你对着个文件感到奇怪吗?我们都知道我们的老朋友.gitignore。你也许会觉得它是.gitignore的兄弟。 git提供给我们这个神奇的文件有什么特殊的属性吗? .gitkeep是什么 在知道这件事之前,我们必须要先了解git是不能追踪空的目录的。如果你有一个空的目录,git会对它视而不见。 但这是我们想要的一个特性,现在你放一个文件到这个目录中,git就能开始追踪这个目录了,这个文件可以是任何东西,这个文件也可以包含任何东西。 所以.gitkeep是什么? 通常,团队里把这个神奇的文件命名为.gitkeep。 其他人就能很容易理解,git这个软件没有赋予它其他的特性相对于.gitignore。 现在如果你希望追踪获取push一个空的目录,你只要创建一个.gitkeep文件就可以,其他的开发者就能很容易理解, 一般来说,人们把它用于assets文件夹或者log文件夹(因为一上来这两个文件夹可能是空的)。 注意: 千万不要把.gitkeep写到.gitignore里,这样的话,所有的空目录都不会被追踪了,也就提交不了了。 有一小部分团队会把.gitignore文件放到空的文件夹中,这样的话大部分人看到这个文件就会感到困惑。 .gitignore文件是用来让git去忽略你版本控制系统中不需要的文件的。 所以也可以利用这个方法,在空目录中添加一个.gitignore文件让git来追踪他们。 总结:对于空目录的追踪我们可以用.gitkeep来做。 |