Git - 是否可以修改/删除远程 git 存储库的引用日志,例如在 Github 上?

2024-01-06

求个朋友。

Scenario

机密信息被意外推送到公共 github 存储库。一旦提交者注意到失败,他就决定用以下命令覆盖 git 历史记录push -f从网络上删除信息。

Problem

  • 机密信息仍然可以通过以下方式访问git reflog在 github 上。所以github的工作人员还是可以访问到这些信息的。

  • 更糟糕的是,如果提交者在初始提交消息中添加了引用,例如使用 # 符号引用问题,github 会自动将提交的链接放入该问题中。在这种情况下,仍然可以通过 github 前端访问被覆盖的信息。

Question

  • 是否可以修改/删除远程 git 或 github 存储库的引用日志?
  • 如果不可能的话。在给定的场景中你会做什么?删除引用第一次提交的问题?删除整个存储库?还有什么?

只要plain Git被关注到,不,不可能.

但另一方面,“远程”存储库——每个人都推送到的存储库 和从 — 获取的数据是“裸露的”,并且裸露的存储库被初始化 禁用重新记录默认情况下。

至于Github,这完全是另一个故事,因为他们没有 使用“普通”Git 为存储库提供服务,从而在服务器端提供服务 存储库的管理实际上超出了 Git 领域—— 请参见Github 文档说了什么 https://help.github.com/articles/removing-sensitive-data-from-a-repository/:

“一旦你将提交推送到 GitHub,你就应该考虑其中包含的任何数据是否会受到损害。”

接下来做什么?如果数据已被泄露

1)使用重写历史任何可用的工具 https://help.github.com/articles/removing-files-from-a-repository-s-history/;

2) 强制推送结果以覆盖已有内容。

3) 联系 Github 获取进一步帮助。如果这种情况发生在您的 $dayjob 中,那么这应该是官方联系人。在此之前,任何想要联系 Github 的人都应该阅读他们的“条款和条件” https://help.github.com/articles/github-terms-of-service/。联系时,应礼貌地询问可能产生的影响,以及是否可以使用从存储库获取(已修复)以外的其他方式来防止受损信息的传播。我的意思是,比如说,回购副本或备份或 Github 内部的其他内容

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git - 是否可以修改/删除远程 git 存储库的引用日志,例如在 Github 上? 的相关文章

  • 全局 Git 忽略

    我想将 Git 设置为全局忽略某些文件 我添加了一个 gitignore文件到我的主目录 Users me 并且我添加了以下行 tmproj 但它并没有忽略这种类型的文件 知道我做错了什么吗 您需要设置您的全局core excludesfi
  • Git 将合并恢复到特定父级

    我有一个 git 存储库 但在恢复合并时遇到问题 当前哈希为 0ce2ca0b35f59af267241cf4d40d16a3e13ba6f3 它有两个父母 df1acf5f54426d30f12c6b4558c3dd922297aae3
  • libgit2如何获取当前目录的状态?

    如何获取单个目录而不是整个存储库的状态 我查看了以下内容 git status list new它获取存储库状态 但我只关心位于单个目录中的文件 git status file获得单身状态 有没有办法可以使用 libgit2 获取单个目录的
  • 如何提交 git 标签?

    我已成功对中央 git 存储库进行 提交和推送更改 我现在意识到我想标记所有文件的当前版本 所以我这样做 git tag a 0 5 这样就成功了 但现在我尝试git push我被告知没有什么可承诺的 如何将新标签推送到中央存储库 注意gi
  • 如果提交格式不正确,是否可以拒绝 Github 上的提交?

    正如中提到的this https stackoverflow com a 6742691 1501285答案 可以在 Github 提交中引用问题 是否可以拒绝它的提交not格式化成这样 Example fix gh 12 foo bar是
  • Git分支切换不会改变代码文件夹文件

    这是后续this https stackoverflow com questions 9406651 code base for git master feature branch问题 我使用克隆了远程主项目文件夹git clone ema
  • 如何配置“git diff”以使用 emacs diff [重复]

    这个问题在这里已经有答案了 是否可以配置 git diff 以使用 emacs diff 如果是的话 你能告诉我怎么做吗 谢谢 看这个问题 如何使用视觉差异程序查看 git diff 输出 https stackoverflow com q
  • 我如何列出我的要点?

    我可以获得我的要点清单吗 这样的列表将列出所有要点 而不仅仅是四个要点 并且在我单击要点之前不会显示要点的内容 有一个简单的方法 https gist github com anders https gist github com ande
  • Git 将新的本地分支推送到远程,无需指定名称

    当针对特定的跟踪问题进行补丁修复时 我们的工作流程如下所示 1 git checkout patch git pull upstream patch make sure we re up to date 2 git checkout b i
  • 如何给 Git 控制台着色?

    我最近看到gitWindows 中的控制台是彩色的 例如绿色表示添加 红色表示删除等 我如何为我的颜色上色git这样的控制台 为了安装它 我使用了以下命令 sudo apt get install git core As noted htt
  • 当存储在变量中时,Git 提交消息变得混乱[重复]

    这个问题在这里已经有答案了 我有一个 Git 提交 其中有一个摘要 然后是一些描述 所以当我看到提交消息时git log format B n 1
  • git 中的 web.config 和 app.config 机器特定设置

    我们在不同的办公室有多个开发团队 他们需要为我们项目中的许多配置设置使用不同的值web config and app config files 我们希望使用一组合理的默认值来检查这些配置文件 这样通过检查 trunk master 分支 您
  • git checkout 裸露,并在接收后包含子模块

    如何在包含子模块的接收后挂钩中检出服务器上的裸存储库 我目前将其作为接收后挂钩 bin bash http blog ekynoxe com 2011 10 22 git post receive for multiple remote b
  • Emacs shell:保存提交消息

    我几天前开始使用 emacs 在 emacs shell M x shell 中使用 git 时遇到问题 当我 git commit 或 git commit amend 时 它会打开 vim 来编辑并保存提交消息 我对此表示同意 但我找不
  • Git 和外部备份。子目录是空的,我宁愿它不是空的。

    我想使用 Git 创建外部备份系统 这部分是受到答案的启发在外部磁盘上备份整个 git 存储库的最佳方法是什么 https stackoverflow com a 4372855 2533127 其中建议如下 您还可以通过启动一个新的存储库
  • 在 $git push -u origin main 命令之后,Git bash 不请求任何身份验证,实际上什么也不做

    当我尝试将代码上传到 github 时 以下是我在 Git Bash 终端中执行的步骤 当我尝试使用将代码推送到 github 时 git push u origin main光标移动到下一行并持续闪烁 但不执行任何操作 git remot
  • git 列出所有可用命令

    有没有命令可以显示 GIT 中所有可用命令的列表 有git help但它显示 usage git version exec path
  • Egit 拒绝接受 id_rsa

    我是第一次尝试在 Eclipse 中设置 egit 的 git 用户 这样我就可以继续通过 Eclipse 轻松编码 问题是 每次我尝试通过 egit 克隆存储库时 都会出现错误 无法列出可用分支 原因 ssh 电子邮件受保护 cdn cg
  • 获得干净的 git 沙箱的最有效方法是什么?

    对于我的持续集成构建 我想确保我的 git 沙箱中没有存放任何杂散文件 并且没有任何文件被无意中更改 我知道关于git reset hard HEAD 这解决了部分问题 但我想我想做的是删除所有未跟踪和忽略的文件 我可以用蛮力的方式做到这一
  • AWS Codepipeline 是否会将符号链接传递到工件中的 Codebuild

    我的 github 存储库中有一些符号链接 当我有一个直接从 github 克隆的 Codebuild 项目时 符号链接会被保留 我进行了切换 以便 Codepipeline 监听我的更改devgithub 中的分支 并将工件传递给 cod

随机推荐