添加 gitignore 后如何删除 cached/tracked 个文件?
How to remove cached/tracked files after adding a gitignore?
我的存储库中有一个名为 Design
的文件夹。我已将 /Design/
添加到我的 .gitignore
文件中。但是,旧文件仍会被跟踪并出现在 bitbucket 中。如何从我的在线存储库中删除这些缓存文件,但将它们保留在我的计算机上?我过去曾尝试过一些操作,但最终将它们从我的计算机中删除了,我不希望这种情况再次发生!
如果您只想从存储库中删除文件,最简单的方法是
git rm --cached -r Design
更新索引,然后当你提交新的提交时会省略目录。
备份文件,然后执行
git rm -r Design
然后将文件复制回来(根据评论)也可以,但不必要地复杂,因为这正是 --cached
选项的用途。
如果您打算从存储库中完全清除 Design
文件夹,这会更加复杂并且需要重写历史记录(这反过来会产生一些您需要阅读的成本)。您可以找到许多概述所有这些的问题和答案;你会寻找 git filter-branch
信息
我的存储库中有一个名为 Design
的文件夹。我已将 /Design/
添加到我的 .gitignore
文件中。但是,旧文件仍会被跟踪并出现在 bitbucket 中。如何从我的在线存储库中删除这些缓存文件,但将它们保留在我的计算机上?我过去曾尝试过一些操作,但最终将它们从我的计算机中删除了,我不希望这种情况再次发生!
如果您只想从存储库中删除文件,最简单的方法是
git rm --cached -r Design
更新索引,然后当你提交新的提交时会省略目录。
备份文件,然后执行
git rm -r Design
然后将文件复制回来(根据评论)也可以,但不必要地复杂,因为这正是 --cached
选项的用途。
如果您打算从存储库中完全清除 Design
文件夹,这会更加复杂并且需要重写历史记录(这反过来会产生一些您需要阅读的成本)。您可以找到许多概述所有这些的问题和答案;你会寻找 git filter-branch
信息