为了账号安全,请及时绑定邮箱和手机立即绑定

从GitHub存储库中删除设置文件,而无需从每个远程克隆中删除它

从GitHub存储库中删除设置文件,而无需从每个远程克隆中删除它

PHP
有只小跳蛙 2021-04-30 10:23:23
我继承了一个通过GitHub更新和分发的PHP Weather Template网站。以前的所有者在开始时没有制作足够的.gitignore文件,因此git跟踪的许多文件不应该这样做。这些文件包括用用户数据,json数据文件和settings.php文件更新的.csv数据库。在将文件列表添加到.gitignore之后,我的问题现在是使这些文件不被用户使用的所有远程克隆上的git跟踪的最佳方法。我的第一个想法是执行一个git rm --cached <files>,但是该操作会从所有人中删除文件,从而删除所有人的数据。接下来,我想警告人们备份文件,并在一周内发出git rm --cached命令,但是由于用户数量未知但数量众多,我无法保证每个人都可以在论坛中看到消息,以免为时已晚,再加上肯定有一些用户会这样做git pull,甚至不用看论坛。出于与上述相同的原因,使每个用户git rm --cached都无法正常工作。最终,有什么方法可以使git停止在模板的每个远程副本上停止跟踪这些文件,而无需依赖任何用户交互。一个简单的从GitHub删除但不从未完成的副本命令删除将是不错的选择。
查看完整描述

2 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

无法做您想做的事。Github不是文件托管,它是git存储库托管,它显示您存储库的内容。要从Github中删除文件,您必须从存储库中删除文件(此顺序不是必需的:您可以使用Web界面直接从Github中删除文件,但随后您必须进行更改,并且文件将在本地存储库中删除) 。不好意思,对不起。


查看完整回答
反对 回复 2021-05-14
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

如果我正确理解了您的问题,则希望从存储库中删除.csv文件,但是当其他人执行git pull自己的.csv文件时,这些文件不会受到影响。

快速说明:为安全起见,请在单独的分支机构或进行空运行。

1)取消跟踪所有文件 git rm -r --cached .

2)更新.gitignore文件以包括所有这些文件。

3)重新添加所有文件git add .(这将不包括.gitignored文件)

4)提交/推送


查看完整回答
反对 回复 2021-05-14
  • 2 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信