Git 不删除本地仓库中已删除的文件

Git not delete deleted file in local repo

我想知道这是正常的行为然后你删除远程分支中的文件并使用 git 拉同步本地分支,删除的文件仍然存在于本地 repo 中?

对于 example:I 删除远程仓库中的文件。本地回购仍然有这个删除文件。 然后我使用 git pull 获取对本地仓库的更改。 我希望在远程回购中删除的文件将在本地删除。但这不会发生。

本地存储库的磁盘上仍有文件,但 git 不再跟踪这些文件。

如果您将存储库克隆到新目录中,您会发现这些文件实际上不存在(如您所料)。

如果您想在 git pull 时自动从磁盘中删除所有 non-tracked 文件,您可以配置一个 post-merge 挂钩到 运行 一个 git clean命令。为此,请在 .git/hooks/ 文件夹中创建名为 post-merge 的以下脚本:

#!/bin/bash
git clean -f

请注意,这将删除 每个 non-tracked 个文件。