0%

什么是.gitkeep? 如何在 windows 下使用命令行创建 .gitkeep 文件

在一些脚手架上构建项目中, 你或许会留意到某个目录中会有个名为.gitkeep的空文件. 那么这个文件是用来做什么的呢?

缘由

什么是.gitkeep? 其实是这样的, 当提交的代码时目录中有空文件夹时git会自动忽略掉. 而有时候你就是想留着这个, 以后有用处不想被忽略怎么办呢? 因此, .gitkeep就应运而生了…

.gitkeep是一个约定俗成的文件名并没有什么特殊规则, 它就相当于一个占位, 让git开始跟踪这个目录.
其实任何文件都可以, 只不过大家都遵循这个命名, 会跟具有语义化. 如同字面意思一样…git + keep, 让git保持这个文件夹, 是不是很简单易懂呀?

创建文件

“哥, 能发个’.gitkeep’给我蛮? 项目中的弄丢了..”
“啊? 直接创建一个不就完啦?”
“创建不了呀!!系统不准, 会报错提示必须输入文件名”
“噢~是有这个限制的, 你用命令行吧”
“搜了圈, 好像没有找到在windows创建的方法诶, “
“? ? ?”

没错, 上面这场景就是让我写这篇博客的主要起因…其实windows下环境创建.开头的文件只能通过命令行的方法, 而且方式也很简单. 只需要输入一行命令即可..

1
type NUL > .gitkeep   

这段代码的意思就是创建一个空文件重定向到名为.gitkeep的文件中.

gitignore与gitkeep

在脚手架构建的项目中, 你也总能在根目录看到名为.giitignore的文件, 那么它和gitkeep又有什么关联呢? 前文有提过, .gitkeep只是约定俗成的一个名称, 而.gitignore是一个特殊文件, 如果你有什么不想提交上去的东西, 如配置了表单密码的配置文件呀什么的, 你可以写进这个文件中, git会自动的忽略掉它.

忽略文件的原则是:

  • 忽略操作系统自动生成的文件,比如缩略图等;
  • 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
  • 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

总结

其实像.gitignore带有其他特殊文件还有其他, 如.nojekyll来告诉Github关闭 GitHub Pages 的 Jekyll 相关功能等, 由于实际工作中用的烧, 这里不详谈, 放着让大家去挖掘吧~

「请笔者喝杯奶茶鼓励一下」

欢迎关注我的其它发布渠道