【问题标题】:Make Github to not show commit differences between a file for a particular commit [duplicate]使 Github 不显示特定提交的文件之间的提交差异 [重复]
【发布时间】:2021-04-28 01:26:09
【问题描述】:

我正在处理一个使用 API 秘密 ID 执行特定任务的项目。最初,我在项目中使用它们(秘密 ID)作为字符串并将其提交给 git。后来我将这些秘密 ID 移动到我的环境变量中,并再次提交并将其推送到 Github。现在,当我转到最后一次提交时,它会显示文件之间的提交差异(像往常一样),它还会显示我之前在代码中作为字符串使用的秘密 id。

这可能会导致安全问题。 如何进行提交不显示特定提交的提交差异?或任何替代解决方案将不胜感激。

【问题讨论】:

  • 我不知道是否可以在 GitHub UI 中从提交视图中“隐藏”它(我对此表示怀疑)。但即使是这样,任何人仍然可以克隆存储库并访问敏感数据。
  • 您一开始就不应该提交敏感数据。就这么简单。
  • @mkrieger1 ik 我不应该提交文件中的敏感数据。但是现在更改密码是一种方式。谢谢。
  • "但现在更改密码是一种方式" 不,不是。您需要重写整个存储库以获取此信息。

标签: git github commit git-commit git-diff


【解决方案1】:

要回答所问的问题:不,您不能告诉 git 说如果文件已更改,则文件未更改。但这里有一个更大的问题:

这可能会导致安全问题。

你已经过了那个点。一旦你推送了一个包含秘密的提交,秘密就被泄露了,唯一的选择就是改变它。即使您可以抑制差异,也有人可以查看以前的版本;历史是 git 的全部内容。你可以改写历史,但即使这样也不会从任何已经拥有它的人那里夺走这个秘密。

【讨论】:

    猜你喜欢
    • 2011-03-23
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 2013-08-10
    • 2012-06-06
    • 2015-05-14
    相关资源
    最近更新 更多