如何忽略 git 中先前跟踪目录的内容?

How to ignore the contents of a previously tracked directory in git?

我看到 this post 不再跟踪以前跟踪的文件,但这是我的情况。

我之前提交了一个目录。我现在想取消跟踪该目录中的所有内容,但仍要跟踪目录本身。

我已添加 /auto-save-list/*.gitignore 文件(我试图忽略的目录是项目根目录中的 auto-save-list 目录,我有 运行 git rm --cached 但是当我进行提交时,我仍然有多个来自该目录的文件显示为新文件。同样,这些文件显示在我的原始存储库中。

有人可以帮我忽略之前跟踪文件的内容吗?

这应该足够了:

git rm -r --cached auto-save-list/
echo "/auto-save-list/" > .gitignore
git add .gitignore
git commit -m "Records untracking of /auto-save-list/ folder"

不需要“*

如果您仍然需要该目录(在 Git 存储库中版本化,即使 Git 不跟踪空文件夹),请在其中添加一个虚拟文件。

touch auto-save-list/.keep
git add -f auto-save-list/.keep
git commit -m "Record auto-save-list/ folder, while ignoring its content"