【发布时间】:2019-09-14 08:00:25
【问题描述】:
我继承了一个通过 GitHub 更新和分发的 PHP 天气模板网站。以前的所有者在开始时没有制作足够的 .gitignore 文件,因此 git 跟踪的许多文件不应该。这些文件包括使用用户数据更新的 .csv 数据库、json 数据文件和 settings.php 文件。在将文件列表添加到 .gitignore 之后,我现在的问题是让 git 在用户正在使用的所有远程克隆上不跟踪这些文件的最佳方法。我的第一个想法是只做一个git rm --cached <files>,但是这会从每个人那里删除文件,删除每个人的数据。
接下来我想警告人们备份文件,并在一周内发出git rm --cached 命令,但是对于未知但相当多的用户,我不能保证每个人都会在为时已晚,而且肯定有些用户会在不看论坛的情况下进行git pull。
出于与上述相同的原因,让每个用户问题git rm --cached 可能也不起作用。
最终,有什么方法可以让 git 停止在模板的每个远程副本上跟踪这些文件,而无需依赖任何用户交互。一个简单的 delete-from-GitHub-but-not-from-outstanding-copies 命令会很棒。
【问题讨论】: