在Git版本把持体系中,空文件夹是不被跟踪的,这意味着你不克不及直接提交一个空的文件夹。但是,经由过程一些简单的方法,你可能轻松地将空文件夹转换为包含文件的库。以下是一招轻松实现主动创建文件的方法,让你的空文件夹在Git中变得有意思。
在空文件夹中创建一个名为.gitkeep
的文件,Git会跟踪这个文件,从而直接跟踪全部文件夹。以下是具体步调:
.gitkeep
的文件。
git add path/to/your/empty-directory/.gitkeep
git commit -m "Add .gitkeep to track empty directory"
git push origin master
Git钩子是可能在特定Git操纵(如提交、推送等)之前或之后运转的剧本。你可能编写一个钩子剧本来在提交之前主动创建一个.gitkeep
文件。
pre-commit
的钩子剧本,放置在.git/hooks
目录下。 #!/bin/sh
for directory in $(git ls-tree -r --name-only master | grep '^$'); do
if [ ! -f "$directory/.gitkeep" ]; then
touch "$directory/.gitkeep"
git add "$directory/.gitkeep"
fi
done
chmod +x .git/hooks/pre-commit
现在,每次提交之前,Git都会主动检查空文件夹,并在其中创建.gitkeep
文件。
从Git 2.23版本开端,你可能利用core.sparseCheckout
设置来创建跟跟踪空目录。
.git/config
文件中增加以下内容: [core]
sparseCheckout = true
.git/info/sparse-checkout
文件中指定你想要跟踪的目录: my-empty-directory/
如许,Git就会在克隆或检出客栈时主动创建指定的空目录。
经由过程以上方法,你可能轻松地将空文件夹转换为Git中的文件库。抉择最合适你的方法,让你的Git客栈愈加高效跟有序。