是否可以编辑 Github 提交历史记录?

hit*_*ile 0 git github

在构建项目时,我使用了私有仓库并为了更快地测试,我使用了数据库和其他凭据作为代码中的变量。

现在项目依赖于 env。变量,所以回购中没有秘密的东西。我想把它公之于众。

我不希望人们看到提交历史记录中包含这些凭据的部分。

是否可以删除这些行或将所有提交历史设为私有?

ins*_*any 6

您需要将上传到 github 的任何凭据视为不再是秘密的。即使你变基,删除它们,然后按照其他人的建议强制推送,一旦你公开存储库,提交仍然可以通过 url(它具有基于提交 id 的简单格式)访问。

有 2 种方法可以公开代码,而无需让人们访问您的凭据。

  1. 更改您的凭据,公开存储库并让其他人从您的错误中吸取教训(我自己以前也上传过机密,并且看到其他有经验的开发人员也这样做了,所以不要感到孤单!)。

  2. 将存储库保留为私有,制作本地副本,变基(确保删除所有机密!),然后推送到新的公共存储库。

我会做选项1,但两者都是安全的。

  • 这符合 [GitHub 自己提出的建议](https://help.github.com/articles/removing-sensitive-data-from-a-repository/) - *'一旦你向 GitHub 推送了提交,你应该考虑它包含的任何数据被泄露'*。而且我会附上关于不感到孤独的部分 - 我们都至少做过一次这样的事情:p (2认同)