检查 git 存储库的完整性

2024-03-03

当我的磁盘在访问 git 存储库时报告了一长串“不可恢复的读取错误”后,我担心我对其他存储库进行了一些推送,这些存储库可能会将错误的内容转发给它们。顺便说一句,在使用提交/推/拉访问存储库时,没有任何 git 命令报告任何错误。但访问存储库后​​,我总是会收到新条目dmesg磁盘上存在不可恢复的读取错误。所以肯定有一些文件受到影响,但可能内容是多余的。

我知道:

git fsck --full 

将检查回购协议,但我想问:

没有报告任何错误(也许一些悬空提交/斑点在我读到时并不重要)意味着完整的存储库处于有效状态?特别是不仅引用和文件存在,而且所有文件的内容都有效?我找不到的是,有类似校验和的东西可以验证 git 数据库中存储的所有对象的完整内容。


没有报告任何错误(也许一些悬空提交/斑点在我读到时并不重要)意味着完整的存储库处于有效状态?

Yes. git fsck --full (and --full是默认值)检查所有对象及其连接。

特别是不仅引用和文件存在,而且 所有文件的内容也都有效吗?我找不到的是 有类似校验和的东西可以验证 git 数据库中存储的所有对象的完整内容。

Git 已经内置了校验和。

Git 中的一切都是对象。每个对象都有一个 ID。 ID 是内容和连接的校验和。如果内容或连接发生变化,则 ID 不再有效。

例如,提交 ID 基本上是...的校验和

  • 提交时所有文件(git 称之为“blob”)的内容和权限(它们有自己的 ID)。
  • 提交的字段,如作者、日期、日志消息等......
  • 父提交的提交 ID。

如果其中任何一个发生变化,ID/校验和将不再有效。这是一个非常优雅的系统。

如果该磁盘仍然出现错误,您确实应该更换该磁盘。

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

检查 git 存储库的完整性 的相关文章

  • Git 将一个分支合并到所有其他分支中

    我知道这个问题已经在这里被问过 https stackoverflow com questions 2329716 merging changes from master into all branches using git https
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件
  • Git 2.2.x 无缘无故更新旧包文件的时间戳

    Git 2 2 0 和 2 2 1 似乎修改了旧的时间戳 git objects pack pack pack偶尔会无缘无故地文件 它只是改变时间戳 内容是相同的 调试这一点很困难 因为它似乎很少进行更改 我在 2 2 0 之前的任何 Gi
  • 为所有子文件夹设置 git 配置值

    我知道可以设置每个存储库的配置来覆盖用户级配置 即 path to my repo gitconfig覆盖 gitconfig 是否可以设置 git 配置来覆盖给定文件夹的所有子文件夹的用户级设置 即 我有 topLevelFolder1
  • git 是否有任何静态接口?

    我一直在寻找一个宁静的 git api 但似乎没有找到 我得到的最接近的是 Github 的 api 来访问一些存储库信息 还有其他的实施吗 Orion Git API http wiki eclipse org Orion Server
  • 是否可以检测 http git 远程是智能还是愚蠢?

    我正在我的应用程序中实现一个选项来使用 depth 1制作 git repo 的最小功能克隆 我刚刚意识到愚蠢的 http 传输不支持 depth 我想自动检测 http 远程是愚蠢的还是聪明的 这样我就可以省略 depth与哑 http
  • 我应该把 .gitignore 放在哪里才能影响所有项目?

    我应该在哪里放置一个 gitignore文件以便我的所有项目都使用这些设置 我尝试了各种文件夹 只有将其放入项目文件夹中才能使其正常工作 但是设置 当然 仅应用于该项目 而不是我的其他项目 git 包含一个 全局 配置选项 可以告诉它在启动
  • 如何使用 git 比较不​​在存储库中的两个文件

    我想比较两个不在任何 git 存储库中的 css 文件 git中有这样的功能吗 git的 diff 比标准 Unix 更实用diff 我经常想这样做 并且由于这个问题在谷歌上排名很高 所以我希望这个答案出现 这个问题 如何使用git dif
  • Git:如何修改服务器的提交?

    我已经在 EC2 上的 git 服务器上推送了一些提交 而不是在 github 上 如何修改 git 服务器上的这些提交 操作就像 删除提交 例如变基 更改提交消息 是否可以 非常感谢 你几乎可以通过用力推动来完成所有事情 将您的本地树更改
  • 无法使用 Git 部署从多项目解决方案部署正确的网站到 Azure

    我有一个解决方案 它有一个 mvc 网站 WebApplication1 该网站依赖于解决方案中的另一个项目 WebAppCore 源代码托管在 Visual Studio Online 上的 git 中 我配置了持续集成 一切都构建得很好
  • 为 RHEL 6 安装/构建 git-svn

    我无权访问 RHEL6 存储库 那么在 RedHat Enterprise Linux 6 上构建和 或安装 git svn 工具的最佳方法是什么 通过卸载现有的 yum擦除git 并从源安装最新的来设法安装git和git svn 1 7
  • 如何诊断和修复 git fatal: 无法读取树

    我在用着git管理项目上的文件 并不断遇到这个问题 当我跑步时git status我收到消息 fatal unable to read tree e2d920161d41631066945a3cbcd1b043de919570 据我了解 我
  • Gitolite git 克隆错误

    我正在尝试在我的服务器 Macos 服务器 上设置 gitolite 我按照此处找到的安装文档中的说明进行操作 http sitaramc github com gitolite doc 1 INSTALL html http sitara
  • git 错误:无法处理 https

    当我尝试使用 git clone 时https xxx https xxx我收到以下错误我不处理协议 https 有人可以帮我吗 完整消息 dementrock dementrock A8Se git 克隆https git innosta
  • 删除并在另一个文件夹中重新创建后保留文件的 Git 历史记录

    我有以下场景 删除了提交 1 中名为 src GetData cs 的文件 在提交 5 中创建了一个名为 src Get GetDataNew cs 的文件 在提交 7 中将 2 中的文件重命名为 src Get GetData cs 1
  • 在推送后检索孤立的提交对象 --force

    Doing push force总是有点冒险 这里有一个例子 说明它如何产生一些问题 例如远程丢失修订版本 假设 有一个人Bob已更新远程master分支来自B to C 还有另外一个人Mike还没有获取此更新并且HEAD of his m
  • 以非交互式方式查找合并提交的正确父级

    我正在准备 svn2git 迁移 同时https github com nirvdrum svn2git https github com nirvdrum svn2git虽然非常有用 但我仍然遇到了一些恶作剧 我已经清理掉了大部分 但还剩
  • 在git的远程存储库上创建私有分支

    我想在我们公司的 git 上构建特定的流程 开发人员在他的本地计算机上创建一个分支并在那里提交一些文件 dev 将此分支推送到远程仓库 其他开发者无法访问该分支 经过几轮推动开发人员决定发布他的更改 将他的私人分支合并到公共分支 推动该公共
  • 如何在 EGit 中创建正确的新本地和远程分支组合?

    我想在 Egit 中执行以下操作 git checkout b newbranch git push u origin newbranch 这给了我一个新的本地分支 将其推送到上游服务器并创建正确的跟踪参考 我如何在 Egit 中做同样的事
  • Gitlab 备份错误:包对象因信号 9 死亡

    我有一个存储库 有 2 个分支 大小为 3 5GB 每个分支大约 1 5GB git 本身就有 700MB 这是错误 备份失败 失败的 失败 opt gitlab embedded bin git git dir mountdata git

随机推荐

  • 如何在网页视图中播放本地 swf 文件

    我正在尝试在 webview 中播放本地 swf 文件 保存在 asset 或 sdcard 中 但我没有运气 任何人都可以指导我正确的方法吗 我可以通过 url 播放 swf 文件 但是在 webview 中播放本地文件时遇到困难 swf
  • 如何使用 gson 库将字符串转换为 JsonObject

    请指教如何转换String to JsonObject using gson图书馆 我不成功的做法 String string abcde Gson gson new Gson JsonObject json new JsonObject
  • 如何忽略部分文本并在剩余部分进行搜索和替换? [复制]

    这个问题在这里已经有答案了 在文本文件中进行正则表达式查找和替换时 我想跳过并忽略文本的某些片段 也就是说 应该将文本的某些部分排除在搜索之外 而只对其余部分进行搜索和替换 标准是 1 任何介于START and END应从搜索和替换中排除
  • 通过 Enum 快速递增

    我喜欢 Swift 允许使用枚举方法 我正在尝试使用一种方法 但正在寻找一种更具可扩展性的方法来执行此操作 enum CopyState case binary hex both init self both mutating func n
  • 转换运算符:gcc 与 clang

    考虑以下代码 https godbolt org z s17aoczj6 https godbolt org z s17aoczj6 template
  • 使用 D3 创建 DIV 动态列表

    我一直在使用D3 http d3js org创建精美的动画图表 并且示例很棒 然而 我正在尝试做一些看似更基本的事情 但遇到了麻烦 将数据绑定到简单的 DIV 列表 我设置了enter 以不透明度 0 初始化元素 transition 让它
  • 使用尺寸类别时 UITableViewCell 子视图报告不正确的宽度

    由于某种原因 当在 xcode 6 中使用尺寸类时 我的单元格中的子视图宽度不正确 我有一个UIImageView使用自动布局调整大小 常量 顶部 左 右 底部为 10 当从以下位置调用以下内容时tableView tableView UI
  • jQuery 'mmenu' 打开时的回调事件

    使用 jQuery菜单插件 http mmenu frebsite nl 我需要在菜单打开后调用 JavaScript 函数 我看不到从API文档 http mmenu frebsite nl documentation api html如
  • 如何将字符转换为等效的 System.Windows.Input.Key Enum 值?

    我想写一个这样的函数 public System Windows Input Key ResolveKey char charToResolve Code goes here that resolves the charToResolve
  • Flask SQLAlchemy 不会关闭 MySQL 数据库连接

    我有一个 Flask 应用程序 使用 Flask SQLAlchemy 和 MySQL 数据库 其中数据库定义如下 db py from flask sqlalchemy import SQLAlchemy db SQLAlchemy ma
  • VBA宏快速删除行

    我有几个非常大的 Excel 数据文件 我需要遍历它们并删除 T 列中单元格值为 1 的所有行 现在我的代码如下所示 Sub test Dim cell As Range For Each cell In Worksheets Sheet1
  • 下载blob存储并返回Json对象

    我正在尝试下载一个 json我存储在容器中的 blobAzure Storage using Newtonsoft Json将其写入对象 我通过调用来做到这一点 CloudBlockBlob blob DownloadToStream st
  • PostgreSQL - 错误:查询没有结果数据的目标

    为什么我会收到以下错误 错误 查询没有结果数据的目标 这是我的功能 CREATE OR REPLACE FUNCTION public SumASCII value character varying RETURNS int LANGUAG
  • 由点聚类着色的等高线图 matlab

    我有两个向量 它们是成对的值 size X 1e4 x 1 size Y 1e4 x 1 是否可以绘制一个contour plot某种方式通过最高密度的点来制作轮廓 即最高聚类 红色 然后在其他地方渐变颜色 如果您需要更多说明 请询问 问候
  • 引用另一个 Snakemake 规则的输入或输出文件

    如何以编程方式引用另一个 Snakemake 规则的属性 我需要更换什么
  • 为什么惰性评估有用?

    我长期以来一直想知道为什么惰性评估有用 我还没有人以一种有意义的方式向我解释 大多数情况下 它最终都会归结为 相信我 注意 我的意思不是记忆 主要是因为它可以更有效 如果不使用值 则不需要计算它们 例如 我可以将三个值传递到一个函数中 但根
  • 如何消除数字范围中的重叠 (AWK)

    我正在尝试删除文件内的重叠部分 有一堆以 A 开头的记录 并且具有 起始值 和 结束值 还有一堆以 B 开头的记录 也有范围 并且显示与以 A 开头的记录可能重叠 这个想法是从 A 中删除重叠范围 以便只存在非重叠范围 B 中的某些记录具有
  • 为什么GCC的ifstream >> double分配这么多内存?

    我需要读取一系列数字以空格分隔的人类可读文件 https earth info nga mil GandG wgs84 gravitymod egm96 ww15mgh grd z并做了一些数学计算 但我在读取文件时遇到了一些真正奇怪的内存
  • WPF 在单独的 UI 线程上加载动画? (C#)

    好的 我有一个加载动画 在填充大型数据表时运行 让用户知道程序尚未冻结 我的动画工作正常 但在数据表更新时它也会冻结 是否有某种方法可以拥有多个 UI 线程 以便在 DataTable 加载信息时动画能够继续运行 编辑 当前代码如下 pri
  • 检查 git 存储库的完整性

    当我的磁盘在访问 git 存储库时报告了一长串 不可恢复的读取错误 后 我担心我对其他存储库进行了一些推送 这些存储库可能会将错误的内容转发给它们 顺便说一句 在使用提交 推 拉访问存储库时 没有任何 git 命令报告任何错误 但访问存储库