2

虽然我已将我的 database.yml 添加到 .gitignore 中,但它仍在 github 中添加。现在

  1. 我应该如何从 github 中删除它?(我看到了这个如何从 GitHub 存储库中删除文件?,这是从 github 中删除的唯一方法吗?)
  2. 如何阻止它被添加到 github,因为它包含敏感信息

谢谢

4

3 回答 3

3

听起来您在问如何从 GitHub 上的现有历史记录中删除该文件。

GitHub 的帮助准确地解释了如何做到这一点

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch database.yml' --prune-empty --tag-name-filter cat -- --all
于 2013-03-17T16:00:48.627 回答
2

是的,这就是从 Git 存储库中删除文件的方法。一旦您将其删除,并且由于您将此文件添加到您的.gitignore文件中,它将不会再次被跟踪。因此,如果您想将此文件保留在本地,请在其他地方保留一份副本,然后使用git rm path/database.yaml然后将其放回原处。

请注意,通过在.gitignore文件中添加更多规则不会以任何方式影响 git 已经跟踪的文件,它只会影响未跟踪的文件。

于 2013-03-17T15:58:07.253 回答
0

注意:

这意味着一个简单的命令就足以获取所有 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 - 法语

于 2013-04-02T15:42:40.997 回答