如果你犯了文件在过去,你将需要从缓存中删除它尝试
git rm --cached codeception.yml
即使你添加一个文件/目录到.gitignore
文件,如果它已经被添加到回购在过去,git会记住它。
它具有跨机器不同的数据库凭证。
如果您意外提交了敏感数据,您可能需要按照建议Github give here。
更新
为了防止腐烂链接这里是从回购删除安全数据从上面的链接汇总说明。如果您愿意,还可以通过使用BFG Repo-Cleaner软件包获得更简单的版本。
- 在终端
cd
到当地克隆的问题。
运行如下(请注意这将覆盖现有的标记!):
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch codeception.yml' \
--prune-empty --tag-name-filter cat -- --all
- 的
codeception.yml
文件添加到您.gitignore
和承诺。
- 检查您的回购
git push origin --force --all
- 的状态。如果您需要从标签中删除敏感数据后,您还需要运行
git push origin --force --tags
- 告诉你的合作者衍合,而不是合并。合并将重新引入这些文件。
经过一段时间,你确信git filter-branch没有意想不到的副作用,你可以用下面的命令强制取消本地资源库中的所有对象并进行垃圾收集(使用Git 1.8.5或更新):
git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin
然后
git reflog expire --expire=now --all
然后
git gc --prune=now
您是否已经将该文件提交给过去? – DavidT
噢,是的,我想我必须以某种方式删除它。 – Rohan