微知-git如何添加空目录的几种方式?(.gitkeep, githook, gitconfig)
背景
在Git中,空目录(空文件夹)默认是不会被跟踪的,因为Git主要跟踪文件的变化。但是如何让git添加空目录?
创建一个占位文件:
在空目录中创建一个文件,比如.gitkeep,这是一个约定俗成的文件名,用来保持目录的存在。然后对这个目录进行提交。
mkdir my-empty-directory
touch my-empty-directory/.gitkeep
git add my-empty-directory/.gitkeep
git commit -m "Add empty directory with .gitkeep"
使用Git钩子:
编写pre-commit钩子脚本来自动在提交时创建空目录,这种方法比较复杂。
使用Git配置:
Git 2.23版本之后,你可以使用core.sparseCheckout配置来创建和跟踪空目录。
.git/config文件中添加以下内容:
[core]
sparseCheckout = true
然后,在.git/info/sparse-checkout文件中指定你想要跟踪的目录:
my-empty-directory/