切换分支时,Git 不会删除
.gitignore
中列出的任何内容。如果忽略 crud
中的任何内容,git 将不会删除该目录。
但是,它确实允许使用
Hooks在
checkout
之后运行自定义代码。您可以创建一个 post-checkout
挂钩(位于 .git/hooks/post-checkout
中,如果 crud
不在 HEAD
中,则删除它。
您可以使用
HEAD
检查 git ls-tree
是否包含目录 :
#!/bin/bash
# you can put a script like that in .git/hooks/post-checkout
if [ -z "$(git ls-tree -d HEAD:crud)" ] then
echo "deleting crud directory"
rm -rf crud
fi