从 Github 中删除一个被忽略的目录 [重复]
Posted
技术标签:
【中文标题】从 Github 中删除一个被忽略的目录 [重复]【英文标题】:Remove an ignored directory from Github [duplicate] 【发布时间】:2017-06-18 23:03:30 【问题描述】:我见过类似的问题,但这种情况是独一无二的。
在本地,我的存储库中有一个被忽略的文件夹,但不知何故它在 2 个月前进入了 Github,尽管它在很久以前就被忽略了并且仍然被忽略,并且我已经在内部和外部编辑了存储库过去2个月内多次忽略文件夹并推送到Github。
无论如何,我如何从 Github 中删除目录而不在本地删除它?你会认为只是“推送起源”会起作用,但显然不是。
【问题讨论】:
如果它随机“未被忽略”,那么快速猜测是您的忽略模式实际上并不适用于该文件夹;当文件夹获得与您的忽略模式不匹配的文件时,它会包含在 repo 中。您是否检查过忽略模式,还有一个简单的检查是将 GIthub 上的文件与本地文件进行比较。 (一个有用的补充可能是你的 .gitignore 文件)。 所以这毕竟是一个重复的问题。我想我没有找到上一个问题,因为我只是在寻找如何删除文件夹或目录,而不是文件。 我的项目忽略了/folder/
之类的文件夹。在本地,它知道它被忽略了。如果你在忽略文件中添加一些东西,当你推送时它不会自动从远程存储库中删除它吗?如果不是,那我想这就是发生的事情,但我发誓我在两个多月前就这样做了。
【参考方案1】:
仅仅因为您从未添加过该文件夹并不意味着您团队中的其他人没有意外地这样做。无论如何,您不必在本地删除文件夹即可忽略它。你可以这样做:
git rm -r --cached folder/
git commit -m 'removed old folder'
git push origin master # or whatever branch you are using
接下来,您可以将该文件夹添加到包含您要忽略的文件夹的文件夹中的.gitignore
文件。添加这一行:
folder/
现在该文件夹已从 GitHub 中删除,并且在本地也被忽略。请注意,该文件夹仍然是远程分支历史记录的一部分。如果您也想对其进行消毒,则需要更多的工作。
【讨论】:
好的,现在我明白了 --cached 的作用。说明说它从索引中删除,但我不知道这是什么意思。我认为这也会在本地删除文件。谢谢。以上是关于从 Github 中删除一个被忽略的目录 [重复]的主要内容,如果未能解决你的问题,请参考以下文章