我有一个 git 存储库,它仅用于保存多个项目中使用的图形和声音文件。它们都在一个目录中,没有子目录。现在我刚刚创建了一个脚本来从另一个结构化目录复制这些资产,该目录具有多个级别的子目录。
现在我只希望 git 跟踪(源)分层文件结构,而(目标)平面目录(所有文件放在一堆)应该被忽略。
我已将目标目录添加到 .gitignore,但 git 仍在跟踪其中的更改。我想如果我提交删除目标目录中的旧文件,git 可能会停止跟踪新内容(由脚本复制),但事实并非如此。
如何让 git 忘记目标目录?
此命令将导致 git 取消跟踪您的目录及其下的所有文件,而不会实际删除它们:
git rm -r --cached <your directory>
该-r选项会导致删除目录下的所有文件。
-r
该--cached选项导致文件仅从 git 的索引中删除,而不是您的工作副本。默认情况下git rm <file>会删除<file>.
--cached
git rm <file>
<file>