我有一个 git repo,需要克隆、做一些事情,然后打包并发送给其他人。我通过 Ansible 使这一切自动化,因此无需用户干预。
我想确保在克隆存储库之后,并在“打包”之前将其重置为所需状态(分支/标记),从而删除克隆后可能已添加到本地文件夹/工作树的任何文件/文件夹。为此,我使用git reset --hard $ref
。
这对于删除不需要的文件很有效,但问题是如果将空文件夹添加到 repo 目录,它就不会被删除。
git 有没有办法删除空文件夹和文件?
答案1
git reset --hard
git add
目标为跟踪的文件/文件夹。因此只有 git 知道的文件。不包括未经 eg 处理的新建目录。
git clean
是您正在寻找的东西,因为它针对的是未跟踪的文件/文件夹。使用-d
标志来确保递归。