虽然我已将我的 database.yml 添加到 .gitignore 中,但它仍在 github 中添加。现在
- 我应该如何从 github 中删除它?(我看到了这个如何从 GitHub 存储库中删除文件?,这是从 github 中删除的唯一方法吗?)
- 如何阻止它被添加到 github,因为它包含敏感信息
谢谢
虽然我已将我的 database.yml 添加到 .gitignore 中,但它仍在 github 中添加。现在
谢谢
听起来您在问如何从 GitHub 上的现有历史记录中删除该文件。
GitHub 的帮助准确地解释了如何做到这一点:
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch database.yml' --prune-empty --tag-name-filter cat -- --all
是的,这就是从 Git 存储库中删除文件的方法。一旦您将其删除,并且由于您将此文件添加到您的.gitignore
文件中,它将不会再次被跟踪。因此,如果您想将此文件保留在本地,请在其他地方保留一份副本,然后使用git rm path/database.yaml
然后将其放回原处。
请注意,通过在.gitignore
文件中添加更多规则不会以任何方式影响 git 已经跟踪的文件,它只会影响未跟踪的文件。
注意:
yml
文件没有被忽略(只有Rails.ignore
一个*.yml
包含)这意味着一个简单的命令就足以获取所有 repos 的所有敏感文件:
./ghrabber.py "path:.bash_history"
您在 git repo 中错误地包含了所有 bash 命令行历史记录
./ghrabber.py "path:.htpasswd"
你得到所有
htpasswd
文件
./ghrabber.py "ext:mbox"
你收到邮箱...
./ghrabber.py "path:databases.yml"
你得到连接登录名/密码到数据库......
(来自Korben.info - 法语)